所以我正在为一个学校项目开发一款Android游戏,游戏没有结局,它会永远持续下去。我想让它成为一个依赖于时间的游戏,如果玩家能够存活一段时间,游戏结束并说“祝贺”并显示一个带有按钮的对话框,一旦按下该按钮,就会关闭游戏。我知道AlertDialog.Builder类,我看到某个活动可以通过finish()方法关闭,所以任何能够详细说明如何在我的游戏类中实现它的人都会非常有帮助,到目前为止所有的努力都是刚刚做的游戏崩溃。
答案 0 :(得分:0)
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();
}
答案 1 :(得分:0)
你崩溃的原因可能是因为你试图从另一个线程触发UI事件。您需要实现一个Handler来将消息从游戏线程传送到UI。在您的活动类中实现一个Handler,将此处理程序传递给您的游戏线程,当您的游戏结束时,执行handler.sendEmptyMessage(GAME_END)。在您的处理程序功能中,打开“msg”以确定收到的消息(GAME_END,QUIT等),您可以在此处调用AlertDialog。