1 - 1 先下載音樂,並播放
import processing.sound.*;
SoundFile sound1, sound2, sound3;
void setup()
{
size(400,300);
sound1 = new SoundFile(this, "In GameMusic.mp3");
sound1.play();
}
void draw()
{
}
1 - 2 點擊滑鼠可以切換音樂
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();
}
}
1 - 3 將剛剛的程式簡化
import processing.sound.*;
SoundFile sound1, sound2, sound3;
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;
}
2 - 1 會飛的物體
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;
}
2 - 2 增加地吸引力,讓球會往下掉
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;
}
2 - 3 加以改進
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();
}
第一部分:
Fruit [] fruits;
void setup()
{
size(400,300);
fruits = new Fruit[3];
for(int i=0 ; i<3 ; i++)
{
fruits[i] = new Fruit(this);
}
}
void draw()
{
background(255,255,0);
for(int i=0 ; i<3 ; i++)
{
fill(255);
ellipse(fruits[i].x, fruits[i].y, 50, 50);
textAlign(CENTER, CENTER);
fill(0);
text(fruits[i].c, fruits[i].x, fruits[i].y);
fruits[i].update();
}
}
void keyPressed()
{
for(int i=0 ; i<3 ; i++)
{
if(keyCode == fruits[i].c)
{
fruits[i].reset();
}
}
}
第二部分:
String line="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
class Fruit
{
float x, y, vx, vy;
boolean flying;
char c;
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;
int i=int(random(26));
c = line.charAt(i);
}
void update()
{
x += vx;
y += vy;
vy += 0.98/3;
}
}
沒有留言:
張貼留言