在Android中使用Game Over屏幕时出错

时间:2015-04-20 14:10:51

标签: java android android-intent

我正在使用Java构建Android游戏。我希望我的游戏在计时器达到零后结束,所以为了做到这一点,我尝试使用意图将玩家带到屏幕上的游戏。然而,这并不起作用,因为它表示在调用GameActivity中的intent之后的代码是预期的。我最初尝试在GameView中有意图,但发现这不起作用。以下是相关代码,感谢任何帮助。

GameView中的代码:

long timeNow = System.currentTimeMillis();
    long timeLeft = 10 - (timeNow - startTime) / 1000;
    if (timeLeft >= 0) {
        canvas.drawText(Long.toString(timeLeft), 20, 30, text);

        if (timeLeft == 0) {
            ((GameActivity).getContext()).goSplash();
        }
    }

GameActivity中的代码

 public void goSplash(){
    intent = new Intent(this, GameOverScreen.class);
    startActivity(intent);
}

1 个答案:

答案 0 :(得分:1)

您可以直接从视图中启动活动,而无需转换上下文(如果您没有为视图使用GameActivity的Context,则可能导致ClassCastException)。

getContext().startActivity(new Intent(getContext(), GameOverScreen.class));

就够了。

代码中的问题是.。它应该是

((GameActivity)getContext()).goSplash();

不是

((GameActivity).getContext()).goSplash();