1.做出一個球會往左往右跑,撞到邊界會反彈
程式
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,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; }
3.球會彈跳(牛頓第二運動定律)程式float ballX=300,ballY=300; float vx=+2,vy=-10; void setup(){ size(700,400); } void draw(){ background(255); ellipse(ballX,ballY,30,30); ballX += vx; ballY +=vy; vy+=0.98; if(ballX<0+15) vx=-vx; if(ballX>700-15) vx=-vx; if(ballY<0+15) vy=-vy; if(ballY>400-15) vy=-vy; }4.球彈到邊界與X軸磨擦會停止程式float ballX=300,ballY=300; float vx=+2,vy=-10; void setup(){ size(700,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; } }








沒有留言:
張貼留言