当用户输掉时如何隐藏其他图像?

时间:2017-06-07 19:13:54

标签: java processing

我正在制作一个飞扬的鸟类游戏,并且在我的代码中,如果鸟类与管道发生碰撞,我就会这样做,如果确实如此,它会显示游戏画面。它正确显示屏幕,但它仍然显示管道和鸟在游戏画面的顶部,我尝试使用boolean showimage = false并且似​​乎没有用,任何指导都将受到赞赏。

我还没有添加它,所以当用户死亡时游戏停止并且我认为这可能是一个原因?

编辑:看来Ii不是很清楚,所以我道歉。我问如何只在鸟与管道碰撞时显示游戏画面(isCollide)但是,它目前显示游戏画面上方的管道和鸟类,我问如何隐藏鸟和管道只显示游戏画面。

这是我的游戏代码与我的问题相关,完整的代码可以在以前的编辑中找到

import processing.serial.*;
PImage gameover;
PImage bg; //Declaring variables for images
PImage img;
PImage imgPipe;
Serial myPort;

void isCollide(Pipe myP) {
 if ((x + size > myP.pipeX) && (x < myP.pipeX + myP.pipeWidth) && (y <
   myP.upperBound)) {
  image(gameover, 0, 0);
 }

 if ((x + size > myP.pipeX) && (x < myP.pipeX + myP.pipeWidth) && (y + size >
   myP.lowerBound)) {
  image(gameover, 0, 0);
 }
}

void display() {
 pushMatrix();
 translate(x, y);
 fill(255);
 image(img, 0, 0, size, size);
 popMatrix();
}

void display() {
 stroke(0);
 fill(120, 90, 55);
 image(imgPipe, pipeX, upperBound - imgPipe.height); //Upper pipe image
 image(imgPipe, pipeX, lowerBound); //Lower Pipe image
}

void setup() {
 myPort = new Serial(this, Serial.list()[3], 9600); //Port the Arduino is 
 plugged into
 size(300, 500);
 bg = loadImage("background2.jpg"); //Loading images
 img = loadImage("bird.png");
 imgPipe = loadImage("wall2.png");
 myBird = new Bird();
 myPipe.renew();
 gameover = loadImage("gameover.png");
}

void draw() {
 background(bg); //Drawing background
 myPipe.update();
 myBird.control();
 myBird.isCollide(myPipe);

 myBird.display();
 myPipe.display();
}

0 个答案:

没有答案