遊戲的背景圖
第一步,我們幫遊戲家背景,還有豆腐塊疊加
但數值有點難調整
PImage img1;
float []tofuX=new float[100];
int n=0;//豆腐數量
int tofuDir=0;//豆腐方向1 -1
int tofuH=0;
int state=0;//0是不會動,1是豆腐移動,2是豆腐停止且往下降
int t=0;
float gx=203,gy=370,vx=0,vy=0;
boolean jumping=false;
void setup(){
size(400,600);
img1=loadImage("bgg.JPG");
//for(int i=0;i<100;i++) tofuX[i] = random(100,200);
}
void draw(){
image(img1,0,0,400,600);
fill(#D7DCE0);
rect(142,400+tofuH,125,65);//底座
for(int i=0;i<n;i++){
rect(tofuX[i],335-i*65+tofuH,125,65);
}
if(state==1){//移動豆腐
tofuX[n-1]+=tofuDir;
}else if(state==2){
if(t>0){
tofuH++;t--;
}else state=3;
}
fill(#88BDD8);ellipse(gx,gy,60,60);
if(jumping){
gx += vx; gy += vy; vy += 0.98;
if(gy>370){
gy=370;jumping=false;
}
if(n>0)
{
float tofuY=335-(n-1)*65+tofuH;
if( tofuX[n-1]<gx && gx<tofuX[n-1]+125 && tofuY<gy && gy<tofuY+65 ){//夾在中間
if(state!=2) changeState();
}
}
}
}
void mousePressed(){
jumping=true;
vy=-16;
}
void keyPressed(){
changeState();
}
void changeState(){
state= (state+1)%3;
if(state==0){
}else if(state==1){
tofuDir=int(random(2));//0,1
if(tofuDir==0) tofuDir=-1;
//假設random取出數是0,因為方向是1跟-1,所以要將0變成-1
n++;
if(tofuDir==1) tofuX[n-1]=-125;//最左邊
if(tofuDir==-1) tofuX[n-1]=400;//最右邊
}else if(state==2){
t=65 ;
}
}
沒有留言:
張貼留言