1. 彈跳摩擦力
程式碼 :
float ballX = 300, ballY= 300;
float speedX = 2 , speedY = 2;
void setup()
{
size(800, 600);
}
void draw()
{
background(128);
ellipse(ballX, ballY, 30, 30);
ballX += speedX;
ballY += speedY;
if(ballX < 15) speedX = -speedX;
if(ballX > 785) speedX = -speedX;
if(ballY < 15) speedY = -speedY*0.9;
if(ballY > 585) {
speedY = -speedY*0.9;
speedX = speedX*0.9;
ballY=600-15;
}
speedY += 0.98;
}
2. 馬力歐移動和跳躍(二段跳)

程式碼:
PImage imgMario; float marioX =100, marioY =250; float marioVX =0, marioVY = 0; void setup() { size(500,500); imgMario = loadImage("mario.png"); } boolean brake = false; void draw() { background(255); rect(0,400,500,50); image(imgMario, marioX, marioY, 76,128); marioX+= marioVX; marioY+= marioVY; if(marioY <=250) marioVY += 0.9; else marioY = 250; if(brake) marioVX *= 0.9; if(!keyPressed && marioVX != 0 && marioX < 400-38 && marioX > 38) brake = true; if(marioX > 500-76) { marioX = 500-76; marioVX = 0; } if(marioX < 0) { marioVX = 0; marioX = 0; } } void keyPressed() { if(keyCode ==RIGHT && marioVX <10) { brake = false; marioVX +=1; } if(keyCode ==LEFT&& marioVX >-10) { brake = false; marioVX -=1; } if(keyCode ==UP && marioY > 100) marioVY = -15; }
沒有留言:
張貼留言