0

如果我的角色死亡/完成关卡,我想添加“游戏结束”和“关卡完成”消息。当他死亡/完成关卡时,现在发生的事情是我结束 MainThread 并启动 EndScreen-activity/LevelComplete-activity。

但在这些活动开始之前,我希望屏幕上出现一条消息,最好是一张图片,这样我就可以添加一些很酷的文字,持续一定的秒数,比如说 3 秒。

我真的需要为此启动类似飞溅的活动或 timerTask 还是可以以更简单的方式完成?

例子:

    if(characterHP <= 0){
        stopUpdating();
        showMessage(3, gameOverBitmap);
        startEndScreenActivity();   
4

2 回答 2

1

您还可以自定义标准 AndroidToast通知的外观、文本、字体、位置、布局和时间(长或短)。(通过提供自定义布局、样式或视图)。

http://developer.android.com/guide/topics/ui/notifiers/toasts.html

如果你想要一些更可定制的东西,你可以覆盖一个活动或对话框,甚至只是一个视图。但是,Toast通知基本上就是为此而设计的。

于 2012-09-11T00:15:30.143 回答
0

使用处理程序或类似的东西

    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    Handler handler = new Handler();

    handler.postDelayed(new Runnable() {
          startEndScreenActivity();   
          }
    }, 3000);

另一件事是,如果您跟踪游戏中的时间流逝(我通常会这样做)以及增量时间,那么您可以按照自己的方式制作一些变体

    long showtime;
    boolean Ending = false;


    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    showtime = sytem.gettimemillisecs();
    Ending = true;

然后在其他地方:

    if (Ending && System.gettimemilisecs > showtime + 3000) {
        startEndScreenActivity();
    }   
于 2012-09-10T21:50:23.970 回答