期中作品,帶領(想題目,做做看,回家任務)
聲音,小鋼琴,物件,import所需功能
牛頓定律(位置,速度,加速度),馬力歐跳,重力加速度
碰撞(DVD風格左右上下邊框碰撞)
Part 1-1 左右上下碰撞
int ballX=300, ballY=300;
int vx=-2, vy=-2;
void setup() {
size(700, 400);
}
void draw() {
background(255);
ellipse(ballX, ballY, 30, 30);
ballX+=vx;
ballY+=vy;
if (ballX<0+15) vx=+2;
if (ballX>700-15) vx=-2;
if (ballY<0+15) vy=+2;
if (ballY>400-15) vy=-2;
}
Part 1-2 拋物線
float ballX=100, ballY=300;
float vx=-2, vy=-10;
void setup() {
size(600, 400);
}
void draw() {
background(255);
ellipse(ballX, ballY, 30, 30);
ballX+=vx;
ballY+=vy;
if (ballX<0+15) vx=-vx*0.9;
if (ballX>600-15) vx=-vx*0.9;
if (ballY<0+15) vy=-vy*0.9;
if (ballY>400-15) {
vy=-vy*0.9;
vx=vx*0.9;
ballY=400-15;
}
vy+=0.98;
}
Part 1-3 馬力歐左右彈跳
PImage imgMario;
float marioX=100, marioY=100;
float marioVX=0, marioVY=0;
void setup() {
size(500, 500);
imgMario = loadImage("mario.png");
}
void draw() {
background(255);
rect(0, 200, 500, 50);
image(imgMario, marioX, marioY, 100, 100);
marioX += marioVX;
marioY += marioVY;
if (softBrake==1) marioVX *=0.9;
if (marioY<=100) marioVY += 0.9;
else marioY =100;
}
int softBrake=0;
void keyReleased() {
if (keyCode==RIGHT) softBrake=1;
if (keyCode==LEFT) softBrake=1;
}
void keyPressed() {
if (keyCode==RIGHT) {
marioVX= 3;
softBrake=0;
} else if (keyCode==LEFT) {
marioVX= -3;
softBrake=0;
} else if (keyCode==UP) {
marioVY = -10;
}
}



沒有留言:
張貼留言