week11
1.利用微積分掉落球
2.掉落球*2
3.利用for迴圈和陣列掉落數顆球
4.球彈地互動
5.被紅球碰到後停止
6.被紅球碰到後消失
7.熟悉布林變數
8.布林應用
9.隨機產生球
class Ball
{
float x,y,vx,vy;
boolean dead;
Ball()
{
x=random(500);
y=random(500);
vy=random(-4,4);
vx=random(-4,4);
dead=false;
}
void draw()
{
if(dead==true)return;
ellipse(x,y,50,50);
if(dist(mouseX,mouseY,x,y)<50)
{
dead=true;
}
x=x+vx;
y=y+vy;
if(y>500||y<0)vy=-vy;
if(x>500||x<0)vx=-vx;
}
}
Ball []balls;
void setup()
{
size(500,500);
balls=new Ball[20];
for(int i=0;i<20;i++)
{
balls[i]=new Ball();
}
}
void draw()
{
background(255);
for(int i=0;i<20;i++)
{
balls[i].draw();
}
}
10.重力加速度
11.reborn99
class Ball{
float x, y, vx, vy;
boolean dead;
Ball(){
reborn();
}
void reborn(){
x = random(500);
y = random(500);
vy = random(-2,2);
vx = random(-2,2);
dead = false;
}
void draw(){
if(dead==true) return;
fill(255,0,0); ellipse(x,y, 5,5);
if( dist(mouseX,mouseY,x,y)<5 ){
dead=true;
gameOver=true;
}
x = x + vx*1;
y = y + vy*1;
if(y>500 || y<0) reborn();
if(x>500 || x<0) reborn();
}
}
Ball [] balls;
void setup(){
size(500,500);
balls = new Ball[99];
for(int i=0; i<99; i++){
balls[i] = new Ball();
}
}
boolean gameOver=false;
void draw(){
background(0);
for(int i=0; i<99; i++){
balls[i].draw();
}
if(gameOver) background(255,0,0);
}
沒有留言:
張貼留言