int ballX=300,ballY=300;
int vx = 2;
void setup(){
size(700,400);
}
void draw(){
background(255);
ellipse(ballX,ballY,30,30);
ballX+= vx;
if(ballX<0) vx = +2;
if(ballX>700) vx = -2;
}
以下如圖
2.以下的程式碼是可以讓球碰到牆壁彈來彈去
int ballX=300,ballY=300;
int vx = 2;
int vy = 2;
void setup(){
size(700,400);
}
void draw(){
background(255);
ellipse(ballX,ballY,30,30);
ballX+= vx;
if(ballX<0+15) vx = +2;
if(ballX>700-15) vx = -2;
ballY+= vy;
if(ballY<0+15) vy = +2;
if(ballY>400-15) vy = -2;
}
以下如圖
3.以下的程式碼是可以讓球跟牛頓第二運動定律一樣彈跳著
float ballX=100,ballY=300;
float vx = +2;
float 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>700-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;
float 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>700-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;
}
以下如圖
5.以下程式碼是可以做出可以讓馬力歐左右動,也可以跳來跳去
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(marioY<=100) marioVY +=0.9;
else marioY =100;
}
void keyPressed(){
if(keyCode==RIGHT) marioX+=3;
if(keyCode==LEFT) marioX-=3;
if(keyCode==UP){
marioVY = -15;
}
}
6.以下程式碼是讓馬力歐活動更平順
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 = -15;
}
}
以下如圖






沒有留言:
張貼留言