我創建一個碰撞檢測遊戲,其中:試圖讓我的遊戲的生命和遊戲結束部分工作
- 每次我打在牆上,我的生命的數量下降。
- 一旦我的生命值爲0,遊戲就結束了。
但是遊戲讓我陷入消極的生活。另外,一旦你贏了我的點擊開始似乎也沒有工作......有人知道如何解決這個問題嗎?
PImage startScreen;
int gamestate=1;
int lives = 3;
class Sprite {
float x;
float y;
float dx;
float dy;
}
Sprite rect=new Sprite();
Sprite ball=new Sprite();
void setup(){
size(500,500);
rect.x = 500;
rect.y = 12;
ball.y= mouseY;
background(0);
fill(0,255,0);
text("Click to Begin", 10, 250);
}
void draw(){
if(gamestate ==0){
background(0);
fill(0, 255,0);
noStroke();
rect(0,235, 500,2.5);
rect(0,250, 500,2.5);
fill(0);
rect(0,238,rect.x,rect.y);
fill(0,255,0);
ellipse(mouseX, mouseY, 2,2);
text("lives left:"+lives, 10, 20);
if (mouseY<240 || mouseY>247){
background(0);
lives = lives-1;
if(lives <= 0){
text("Game Over. \nClick to Begin", 225,250);
gamestate=1;
}
}
if (mouseX >= 495){
background(0);
text("You Win! \nClick to Begin Again.", 225,250);
}
}
}
void mousePressed(){
if (gamestate ==1){
gamestate=0;
}
}
你正在減少生命的數量太快。將''''''設置爲300而不是3,以更好地瞭解發生了什麼。另外,'''background(0);'''調用看起來有點奇怪,也許你打算在頂部有一個調用? –