2022年10月24日 星期一

week08

 week08

Step 01滑鼠點擊可以切換音樂

import processing.sound.*;
SoundFile sound1,sound2,sound3;
void setup(){
  size(400,300);
  fill(255,0,0);
  sound1=new SoundFile(this,"In Game Music.mp3");
  sound2=new SoundFile(this,"Intro Song_Final.mp3");
  sound1.play();
}
int stage=1;
void draw(){
  background(255);
  if(stage==1){
    text("stage 1",100,100);
  }else if(stage==2){
    text("stage 2",100,100);
  }
}
void mousePressed(){
  if(stage==1){
    stage=2;
    sound1.stop();
    sound2.play();
  }else if (stage==2){
    stage=1;
    sound2.stop();
    sound1.play();
  }
}

Step02

void setup() {
  size(400,300);
}
int stage=1;
void draw() {
  background(255,255,0);
  fill(255,0,0);
  textSize(80);
  if(stage==1){
    text("stage 1",100,100);
  }else if(stage==2){
    text("stage 2",100,100);
  }
}
void mousePressed() {
  if(stage==1)stage=2;
  else if(stage==2)stage=1;
}

Step02-2

void setup() {
  size(400, 300);
}
float fruitX=200, fruitY=150;
float fruitVX=1, fruitVY=-1;
boolean flying=true;
void draw() {
  background(255, 255, 0);
  ellipse(fruitX, fruitY, 50, 50);
  if (flying) {
    fruitX+=fruitVX;
    fruitY+=fruitVY;
  }
}
void keyPressed(){
  flying=false;
}

step02-3水果會有重力加速度

void setup() {
  size(400, 300);
}
float fruitX=200, fruitY=300;
float fruitVX=2, fruitVY=-13;
boolean flying=true;
void draw() {
  background(255, 255, 0);
  ellipse(fruitX, fruitY, 50, 50);
  if (flying) {
    fruitX+=fruitVX;
    fruitY+=fruitVY;
    fruitVY+=0.98/3;
  }
}
void keyPressed() {
  flying=false;
  fruitReset();
}
void fruitReset() {
  fruitX=random(100, 300);
  fruitY=300;
  fruitVX=random(-2, 2);
  fruitVY=-13;
  flying=true;
}


Step03-1

class Fruit {
  float x, y, vx, vy;
  boolean flying;
  PApplet sketch;
  Fruit(PApplet _sketch) {
    sketch=_sketch;
    reset();
  }
  void reset() {
    x=sketch.random(100, 300);
    y=300;
    vx=sketch.random(-2, 2);
    vy=-13;
    flying =true;
  }
  void update(){
    x+=vx;
    y+=vy;
    vy+=0.98/3; 
  }
}
Fruit fruit;
void setup(){
  size(400,300);
  fruit=new Fruit(this);
}
void draw(){
  background(255, 255, 0);
  ellipse(fruit.x, fruit.y, 50, 50);
  fruit.update();
}

沒有留言:

張貼留言