*做出碰撞到邊界會彈回的圓圈
*做出一個拋物線
01 做出左右移動的圓圈
----改良----
02 上下左右都可以彈的圓圈
程式碼:
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;
}
03 牛頓第一定律 - 慣性運動 - 第一階
程式碼:
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; }
04 牛頓第一定律 - 慣性運動 - 完成
程式碼: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; vx = vx * 0.9; ballY = 400-15; } vy += 0.98; }![]()
05 mario 左右移動、跳起來程式碼:PImage imgMario; float marioX=100,marioY=0; float marioVX=0,marioVY=0; void setup(){ size(500,500); imgMario = loadImage("mario.jpg"); } void draw(){ background(255); rect(0,200,500,100); 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; } }06 mario順順的移動程式碼:PImage imgMario; float marioX=100,marioY=0; float marioVX=0,marioVY=0; void setup(){ size(500,500); imgMario = loadImage("mario.jpg"); } void draw(){ background(255); rect(0,200,500,100); 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; } if(keyCode==UP){ marioVY=-15; } }未完成程式碼(跳的上障礙物):PImage imgMario; float marioX=100,marioY=0; float marioVX=0,marioVY=0; int flying=0; void setup(){ size(500,500); imgMario = loadImage("mario.jpg"); } void draw(){ background(255); rect(0,200,500,100); image(imgMario,marioX,marioY,100,100); marioX += marioVX; marioY += marioVY; if(softBrake==1) marioVX *= 0.9; rect(200,100,100,50); 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; } if(keyCode==UP){ marioVY=-15; flying=1; } }









沒有留言:
張貼留言