2022年10月24日 星期一

week08 互動技術

 Step01 舞台音樂切換

import processing.sound.*;

SoundFile sound1, sound2, sound3;

void setup(){

  size(400,300);

  textSize(50);

  fill(255,0,0);

  sound1 = new SoundFile(this,"Monkey 1.mp3");

  sound2 = new SoundFile(this,"Monkey 2.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();

  }


}

 Step01-2 舞台切換


 Step02-1 飛球


Step02-2 完善飛球

void setup(){

  size(400,300);

}

float fruitX=200,fruitY=150;

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/2;

  }


}

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.0,300.0);

    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();

}

void keyPressed(){

  fruit.reset();

}



Step03-2完善



沒有留言:

張貼留言