Java 游戏结束,功能不正常?

Java 游戏结束,功能不正常?,java,android,canvas,Java,Android,Canvas,目前,我有一个简单的射击游戏,精灵在屏幕上飞过,当他们被按下时,它会增加用户的分数1。问题是我想要它,所以我为gameover声明了一个布尔值,当游戏开始时,它将被初始化为false,当计时器用完时,它将被声明为true。我现在的代码是这样的,当计时器用完时,gameover被设置为true,但是由于某种原因,它默认为true,而不是等待计时器用完。知道为什么吗 /* Member (state) fields */ private GameLoopThread gameLoopThread

目前,我有一个简单的射击游戏,精灵在屏幕上飞过,当他们被按下时,它会增加用户的分数1。问题是我想要它,所以我为gameover声明了一个布尔值,当游戏开始时,它将被初始化为false,当计时器用完时,它将被声明为true。我现在的代码是这样的,当计时器用完时,gameover被设置为true,但是由于某种原因,它默认为true,而不是等待计时器用完。知道为什么吗

/* Member (state) fields   */
private GameLoopThread gameLoopThread;
private Paint paint; //Reference a paint object 
/** The drawable to use as the background of the animation canvas */
private Bitmap mBackgroundImage;
private Sprite sprite;
private int hitCount;
/* For the countdown timer */
private long  startTime ;           //Timer to count down from
private final long interval = 1 * 1000;     //1 sec interval
private CountDownTimer countDownTimer;  //Reference to class
private boolean timerRunning = false;
private String displayTime;         //To display time on the screen
private boolean gameOver;
private int highscore = 0;
/* Countdown Timer - private class */
private class MyCountDownTimer extends CountDownTimer {

  public MyCountDownTimer(long startTime, long interval) {
        super(startTime, interval);
  }
  public void onFinish() {
        displayTime = "Times Over!";
        timerRunning = false;
        countDownTimer.cancel();
        gameOver = true;
        if (hitCount > highscore) {
            highscore= hitCount;
                        }

  }

 public void update(){
    //if (gameOver = true){ 
    sprite.update();
    //}
 }

我可能是错的,但这里出现的这个gameOver=true会产生这种行为。您使用的是赋值=,而不是等式验证=

在这种情况下,您应该编写if gameOver==true{,或者更简单地说:if gameOver{

除此之外,我不知道您可能犯了什么错误,因为布尔基元变量的默认值确实是假的

下面是我做的一个小测试,以确保我的假设。我运行:

public class Test {

    public static boolean x;

    public static void main(String[] args) {
        System.out.println(x);
        if (x = true)
            System.out.println(x);
    }

}
并得到了输出:

false
true

是的,这样做了,我对他们进行了评论,以确保游戏能够运行平等验证。