//能不能動起來!!掉下來的金幣(座標x,y)
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,6};
void setup()
{
size(500,600);
}
void draw()
{
background(255);
for(int i=0;i<4;i++)
{
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];
}
}
🔹接著我們讓他變成小彈簧
//能不能動起來!!掉下來的金幣(座標x,y)
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
void setup()
{
size(500,600);
}
void draw()
{
background(255);
for(int i=0;i<4;i++)
{
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];
if(y[i]>600)vy[i]=-vy[i];
if(y[i]<0)vy[i]=-vy[i];
}
}
🔸我們讓紅色球碰到黃色球的時候,他會停下來
//能不能動起來!!掉下來的金幣(座標x,y)
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
void setup()
{
size(500,600);
}
void draw()
{
background(255);
for(int i=0;i<4;i++)
{
fill(255,255,0);
ellipse(x[i],y[i],50,50);
if(dist(mouseX,mouseY,x[i],y[i])<=50)
{
continue;
}
y[i]=y[i]+vy[i];
if(y[i]>600)vy[i]=-vy[i];
if(y[i]<0)vy[i]=-vy[i];
}
fill(255,0,0);
ellipse(mouseX,mouseY,50,50);
}
🔹接著我們讓黃色球球消失
//能不能動起來!!掉下來的金幣(座標x,y)
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vy={3,2,2.5,4};
boolean []dead={false,false,false,false};
void setup()
{
size(500,600);
}
void draw()
{
background(255);
for(int i=0;i<4;i++)
{
if(dist(mouseX,mouseY,x[i],y[i])<=50)
{
dead[i]=true;
}
if(dead[i]==true)continue;
fill(255,255,0); ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];
if(y[i]>600)vy[i]=-vy[i];
if(y[i]<0)vy[i]=-vy[i];
}
fill(255,0,0);
ellipse(mouseX,mouseY,50,50);
}
🔸我們來探討一下boolen,按下去是紅色,沒按的時候是綠色
//練習 boolean變數true成立,false不成立
boolean down=true;
void setup()
{
size (500,300);
}
void draw()
{
if(mousePressed)down=true;
else down=false;
if(down)background(255,0,0);//紅色
else background(0,255,0);//綠色
}
🔹我們跑出多一點球球,且紅球碰到黃球會消滅他
//能不能動起來!!掉下來的金幣(座標x,y)
float []x;
float []y;
float []vy;
boolean []dead;
int N=20;
void setup()
{
size(500,600);
x=new float[N];
y=new float[N];
vy=new float[N];
dead =new boolean[N];
for(int i=0;i<N;i++)
{
x[i] = random(500);
y[i] = random(100,200);
vy[i] = random(3,4);
dead[i]=false;
}
}
void draw()
{
background(255);
for(int i=0;i<N;i++)
{
if(dist(mouseX,mouseY,x[i],y[i])<=50)if(dist(mouseX,mouseY,x[i],y[i])<=50)
{
dead[i]=true;
}
if(dead[i]==true)continue;
fill(255,255,0); ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];
if(y[i]>600)vy[i]=-vy[i];
if(y[i]<0)vy[i]=-vy[i];
}
fill(255,0,0);
ellipse(mouseX,mouseY,50,50);
}
🔸接著我們用另一種方法寫程式,且滑鼠碰到球球,球球便會停止
class Ball{
float x,y,vx,vy;
boolean dead;
Ball()
{
x=random(500);
y=random(100,200);
vy=random(3,4);
dead=false;
}
void draw()
{
ellipse(x,y,50,50);
if(dist(mouseX,mouseY,x,y)<50)
{
dead=true;
}
if(dead==true)return;
y=y+vy;
if(y>500)vy=-vy;
if(y<0)vy=-vy;
}
}
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();
}
}
🔹我們讓滑鼠跟上白色球球,且消滅白色球球
class Ball{
float x,y,vx,vy;
boolean dead;
Ball()
{
x=random(500);
y=random(100,200);
vx=random(-4,4);
vy=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();
}
}
🔸我們加上重力加速度,讓球彈力增加的更多,我換了個球球的顏色!!
class Ball{
float x,y,vx,vy;
boolean dead;
Ball()
{
x=random(500);
y=random(100,200);
vx=random(-4,4);
vy=random(-4,4);
dead=false;
}
void draw()
{
if(dead==true)return;
fill(10,242,186);
ellipse(x,y,50,50);
//if(dist(mouseX,mouseY,x,y)<50)
//{
// dead=true;
//}
x=x+vx;
y=y+vy;
vy+=0.98;
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();
}
}
🔹我們做很多個小點點,只要滑鼠碰到了就會整面顯示小點點的顏色
class Ball{//我們發明 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(10,242,186);
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(10,242,186);
}
沒有留言:
張貼留言