Создание диалогового окна в конце игры для Android - PullRequest
0 голосов
/ 03 февраля 2012

Итак, я сейчас разрабатываю игру для Android для школьного проекта, и у игры нет конца, она продолжается вечно.Я хочу сделать это зависимой от времени игрой, в которой, если игрок выживает определенное количество времени, игра заканчивается и говорит «Поздравления» и показывает диалоговое окно с кнопкой, которая однажды нажата, закрывает игру.Я знаю о классе AlertDialog.Builder и где-то видел, что действие может быть закрыто с помощью метода finish (), поэтому любой, кто сможет проработать, как реализовать это в моем игровом классе, будет очень полезным, все усилия, которые до сих пор только что былисбой игры.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2012

Причина сбоя, вероятно, заключается в том, что вы пытаетесь инициировать события пользовательского интерфейса из другого потока. Вам нужно будет внедрить обработчик для пересылки сообщений из игрового потока в пользовательский интерфейс. Реализуйте обработчик в своем классе деятельности, передайте этот обработчик в свой игровой поток и, когда ваша игра подходит к концу, выполните handler.sendEmptyMessage (GAME_END). В своей функции обработчика включите «msg», чтобы определить, какое сообщение было получено (GAME_END, QUIT и т. Д.), И вы можете вызвать AlertDialog здесь.

0 голосов
/ 03 февраля 2012
Runnable run = new Runnable(){
     public void run(){
             displayDialog();
     }
};
this.runOnUiThread(run);


private void displayDialog() {
    new AlertDialog.Builder(ProvaActivity.this).setPositiveButton("finish", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            finish();
        }
    }).show();

}
...