Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 游戏结束时使用画布在游戏中显示对话框_Android_Progressdialog_Game Loop - Fatal编程技术网

Android 游戏结束时使用画布在游戏中显示对话框

Android 游戏结束时使用画布在游戏中显示对话框,android,progressdialog,game-loop,Android,Progressdialog,Game Loop,在发现开始一个新的意图可能不是通知用户GameOver的正确方式之后,我现在正在尝试RunnuIthread、Runnable和dialogs 问题:如何以及在何处实现Dialog.show()来通知用户游戏已经结束?我正在实现一个铁路比赛游戏。在这个当火车相撞发生的游戏中,我想在这里显示对话框 我已经尝试过runOnUiThread、Runnable和异步线程。我想不出来。 我想在MainGamePanel的碰撞发生方法中显示对话框 我有一个游戏。活动雄配子体活动: private stati

在发现开始一个新的意图可能不是通知用户GameOver的正确方式之后,我现在正在尝试RunnuIthread、Runnable和dialogs

问题:如何以及在何处实现Dialog.show()来通知用户游戏已经结束?我正在实现一个铁路比赛游戏。在这个当火车相撞发生的游戏中,我想在这里显示对话框

我已经尝试过runOnUiThread、Runnable和异步线程。我想不出来。 我想在MainGamePanel的碰撞发生方法中显示对话框

我有一个游戏。活动雄配子体活动:

private static final String TAG = AndroidGame.class.getSimpleName();
public static Vibrator v;
private GameDatabaseOperations gameDatabaseOperations;
private int currentDate;
private int todayDate;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
   requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    try{
        currentDate = Calendar.getInstance().get(Calendar.DATE);
        gameDatabaseOperations = new GameDatabaseOperations(this);
        gameDatabaseOperations.createWriteModeDatabase();
        Cursor crDate = gameDatabaseOperations.fetchTodayDate();
        startManagingCursor(crDate);
        if(crDate!= null && crDate.getCount() >0){
            crDate.moveToFirst();
            todayDate = crDate.getInt(0);
        }

         if(currentDate != todayDate ){
            gameDatabaseOperations.updateTodayDefaultScore(0);
            gameDatabaseOperations.updateTodayDate(currentDate);
            Cursor cr1Date = gameDatabaseOperations.fetchTodayDate();
            startManagingCursor(cr1Date);
            if(cr1Date!= null && cr1Date.getCount() >0){
                cr1Date.moveToFirst();
                todayDate = cr1Date.getInt(0);
            }
        }
        gameDatabaseOperations.closeDatabase();

    }
    catch(Exception e){
        e.printStackTrace();
    }

    FrameLayout fl = new FrameLayout(this);
    setContentView(fl);
    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    LinearLayout pause = (LinearLayout) inflater.inflate(
    R.layout.pausebutton, null);
    fl.addView(new MainGamePanel(this));
    fl.addView(pause);   
    v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

     }

您是否想过像这样实现游戏引擎:

while (!collision) 
{
     playGame();
     doAnimation();
     checkCollision();
}

dialog.show();

performAction(determineNextGameState());
将所有游戏代码放入playGame()中,然后在用户死亡时修改碰撞字段