完成遊戲畫面
程式碼:
PImage img1,img2;
PImage[] img3 = new PImage[14];
float x=155,y=300,vx=0,vy=0;//女孩
boolean jumping=false;
boolean alive=true;
float []tofuX=new float[100];
float []tofuVX=new float[100];
int n=1;//豆腐數量
int state=0;
int tofuH=0;
int t=0;
PFont timberman;
void setup(){
size(400,600);
img1=loadImage("bgg.JPG");
img2=loadImage("111.png");
img3[0] = loadImage("1111.gif");
img3[1] = loadImage("2222.gif");
img3[2] = loadImage("3333.gif");
img3[3] = loadImage("4444.gif");
img3[4] = loadImage("5555.gif");
img3[5] = loadImage("6666.gif");
img3[6] = loadImage("7777.gif");
img3[7] = loadImage("8888.gif");
img3[8] = loadImage("9999.gif");
img3[9] = loadImage("1010.gif");
img3[10] = loadImage("1011.gif");
img3[11] = loadImage("1012.gif");
img3[12] = loadImage("1013.gif");
img3[13] = loadImage("1014.gif");
tofuX[0]=140;//豆腐剛開始的位子
generateTofu();
}
int k=0;
void draw(){
image(img1,0,0,400,600);
timberman = createFont("Pixelony.ttf", 40);//遊戲字體
text("Score:"+(n-1),130,100);
textFont(timberman);
for(int i=0;i<n;i++)
{
rect(tofuX[i],400-i*65+tofuH,125,65);
}
if(state==1){
if(t>0){
tofuH++;t--;
}else{
state=0;
}
}
image(img2,x,y+tofuH,100,100);
if(jumping){
if(vy>0 && tofuX[n-1]<x+70 && x<tofuX[n-1]+95 && y+100<400-(n-1)*65 && y+100+vy>400-(n-1)*65){
jumping=false; vy=0; y=400-(n-1)*65-100;
screenroll();
generateTofu();
}else{
y+=vy;
vy+=0.98;
}
}
tofuX[n-1]+=tofuVX[n-1];
if(!jumping && tofuVX[n-1]!=0 && tofuX[n-1]<x+75 && x<tofuX[n-1]+100){
alive=false;
}
if(y>600)
{
alive=false;
}
if(alive==false)//死亡
{
image(img3[k],0,0,400,600);
if(frameCount%6==0) k=(k+1)%14;
timberman = createFont("Pixelony.ttf", 40);//遊戲字體
text("Your Score:"+(n-1),70,100);
fill(#EA2F4B);
textFont(timberman);
}
}
void mousePressed(){
if(!jumping){
jumping=true;
vy=-22;
}
}
void generateTofu(){
int dir=int(random(2));//0=左邊,1=右邊
n++;
if(dir==0){
tofuX[n-1]=400;
tofuVX[n-1]=-2;
}else{
tofuX[n-1]=-125;
tofuVX[n-1]=2;
}
}
void screenroll(){
state= (state+1)%2;
if(state==0){
}else if(state==1){
t+=65;
}
}
結束遊戲畫面的動態圖片

沒有留言:
張貼留言