今天要做落下的金幣
程式碼:
float x=250,y=250,vx=0,vy=3;
void setup(){
size(500,600);
}
void draw(){
background(255);
ellipse(x,y,50,50);
//y++;//落下速度
//y=y+3;//y++的三倍速度
y=y+vy;//vy是速度
}
程式碼:
float x=250,y=0,vx=0,vy=4;
float x2=150,y2=0,vx2=0,vy2=3;
void setup(){
size(500,600);
}
void draw(){
background(255);
ellipse(x,y,50,50);
ellipse(x2,y2,50,50);
y=y+vy;//vy是速度
y2=y2+vy2;
}
程式碼:
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];//vy是速度
}
}
程式碼:
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];//vy是速度
//以下為回彈
if(y[i]>600)vy[i]=-vy[i];//碰到地板後vy[i]會變成負的
if(y[i]<0)vy[i]=-vy[i];//再碰到後會再變
}
}
程式碼 :
//可以有任意組嗎
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(#F7E302);
ellipse(x[i],y[i],50,50);
if(dist(mouseX,mouseY,x[i],y[i])<=50){
continue;
}
y[i] = y[i] + vy[i];//vy是速度
if(y[i]>600)vy[i]=-vy[i];//碰到地板後vy[i]會變成負的
if(y[i]<0)vy[i]=-vy[i];//再碰到後會再變
fill(255,0,0);ellipse(mouseX,mouseY,50,50);
}
}
程式碼:
//可以有任意組嗎
float []x={250,150,350,300};
boolean []dead={false,false,false,false};//false 0,true 1
if(dist(mouseX,mouseY,x[i],y[i])<=50){
if(dead[i]==true)continue;//如果沒有死掉
fill(#F7E302);ellipse(x[i],y[i],50,50);
y[i] = y[i] + vy[i];//vy是速度
if(y[i]>600)vy[i]=-vy[i];//碰到地板後vy[i]會變成負的
if(y[i]<0)vy[i]=-vy[i];//再碰到後會再變
fill(255,0,0);ellipse(mouseX,mouseY,50,50);
程式碼:
//可以有任意組嗎
float []x;
float []y;
float []vy;
boolean []dead;//false 0,true 1
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<10;i++){
x[i]=random(500);
y[i]=100;
vy[i]=random(2,4);
dead[i]=false;
}
}
void draw(){
background(255);
for(int i=0; i<N ;i++){
if(dist(mouseX,mouseY,x[i],y[i])<=50){
dead[i]=true;//碰到就死掉
}
if(dead[i]==true)continue;//如果沒有死掉
fill(#F7E302);ellipse(x[i],y[i],50,50);
y[i] = y[i] + vy[i];//vy是速度
if(y[i]>600)vy[i]=-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;
}
}
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(500);
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{
if(dist(mouseX,mouseY,x,y)<5){
if(gameOver)background(256);
======================補充
- 因為大家都不知道boolean所以有了這個補充
- if(0)=false;
- java創始人覺得不合理,覺得if中只能填英文不能填數字
- 程式碼結果--當按下滑鼠會變色
boolean down=false;
void setup(){
}
if(mousePressed)down=true;
if(down) background(255,0,0);
else background(0,255,0);
}