2019互動技術W4
做一顆球 一直反彈
int ballX=300, ballY=300;
int vx = -2;
void setup() {
size(700, 400);
}
void draw(){
background(255);
ellipse(ballX,ballY,30,30);
ballX+=vx;VX加速度
if(ballX<0)vx=+2;
if(ballX>700)vx=-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;
vy+=0.98;模擬重力
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;
}
彈跳有摩擦力
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;
}
馬力歐前後走路+彈跳
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, 185, 500, 50);地板
image(imgMario, marioX, marioY, 100, 100);
marioX+=marioVX;
marioY+=marioVY;
if (marioY<=100)marioVY+=0.9;跳起來的時候Y小於100就加重力0.9
else marioY=100;其餘維持在地上
}
void keyPressed() {用鍵盤控制
if (keyCode==RIGHT)marioX+=3;
if (keyCode==LEFT)marioX-=3;
if (keyCode==UP) {
marioVY=-15;
}
}
馬力歐自然的向前走 有慣性
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, 185, 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=-15;
}
}





沒有留言:
張貼留言