2020年10月12日 星期一

❀week05

 切水果遊戲

1.先找一張圖片
2.把圖檔丟入程式裡(上禮拜學的)
3.把圖檔讀進去
程式碼:
PImage img;
float x=100, y=200;
void setup(){
  size(500,500);
  img = loadImage("fruit.png");
}
void draw(){
  image(img, x, y,100,100);
}





















讓水果有拋物線跟速度

程式碼:
PImage img;
float x=100, y=500,vx=3,vy=-30;
void setup(){
  size(500,500);
  img = loadImage("fruit.png");
}
void draw(){
  image(img, x, y,100,100);
  x += vx;
  y += vy;
  vy += 0.98;
}






















讓水果有左右飛來飛去的感覺

程式碼:
PImage img;
float x=100, y=500,vx=3,vy=-30;//(x,y)座標
void setup(){
  size(500,500);
  img = loadImage("fruit.png");
}
void draw(){
  image(img, x, y,100,100);
  x += vx;
  y += vy;
  vy += 0.98;
  if(y>500){
    if(frameCount%2==0){
      x=random(250); y=500; vx=random(2,3); vy=-random(28,32);
    }else{
      x=random(250,500);y=500; vx=-random(2,3); vy=-random(28,32);
    }
  }
}



能切水果

程式碼:
PImage img;
float x=100, y=500,vx=3,vy=-30;//(x,y)座標
int fruitDie=0;//一開始水果沒死
void setup(){
  size(500,500);
  img = loadImage("fruit.png");
}
void draw(){
  background(0);//背景黑
  image(img, x, y,100,100);
  x += vx;
  y += vy;
  vy += 0.98;//拋物線(重力加速度)
  if(y>500) fruitDie=1;
  if(x<mouseX && mouseX<x+100 && y<mouseY && mouseY<Y+100) fruitDie=1;//切水果
  stroke(255); line(mouseX,mouseY,pmouseX,pmouseY);//白色的刀
  if(fruitDie==1){
    if(frameCount%2==0){
      x=random(250); y=500; vx=random(2,3); vy=-random(28,32);
    }else{
      x=random(250,500);y=500; vx=-random(2,3); vy=-random(28,32);
    }
    fruitDie=0;
  }
}






















加入音效

















丟入音檔
(方法一)
程式碼:
import processing.sound.*;//使用聲音外掛
SoundFile sound1;//聲音的物件的變數
SoundFile sound2;
void setup(){
  size(300,300);
  sound1 = new SoundFile(this, "launch_dnmenu1.wa");
  sound2 = new SoundFile(this, "BULLET.wav");
  //sound1.play();//播一次
  sound2.loop();//循環播放
 }
 void draw(){
   
 }
 void mousePressed(){
   sound1.play();
 }
(方法二)
程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player1;
AudioPlayer player2;

void setup(){
  minim = new Minim(this);
  player1 = minim.loadFile("launch_dnmenu1.wav");
  player2 = minim.loadFile("BULLET.wav");
  player1.loop();
}
void draw(){
  
}
void mousePressed(){
  player2.rewind();
  player2.play();
}

加入到小遊戲中
程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player1;
AudioPlayer player2;
PImage img;
float x=100, y=500,vx=3,vy=-30;//(x,y)座標
int fruitDie=0;//一開始水果沒死
void setup(){
  size(500,500);
  img = loadImage("fruit.png");
  minim = new Minim(this);
  player1 = minim.loadFile("launch_dnmenu1.wav");
  player2 = minim.loadFile("BULLET.wav");
  player1.loop();
}
void draw(){
  background(0);//背景黑
  image(img, x, y,100,100);
  x += vx;
  y += vy;
  vy += 0.98;//拋物線(重力加速度)
  if(y>500) fruitDie=1;
  if(x<mouseX && mouseX<x+100 && y<mouseY && mouseY<Y+100) {
  fruitDie=1;//切水果
  player2.rewind();
  player2.play();
}
  stroke(255); line(mouseX,mouseY,pmouseX,pmouseY);//白色的刀
  if(fruitDie==1){
    if(frameCount%2==0){
      x=random(250); y=500; vx=random(2,3); vy=-random(28,32);
    }else{
      x=random(250,500);y=500; vx=-random(2,3); vy=-random(28,32);
    }
    fruitDie=0;
  }
}


沒有留言:

張貼留言