我目前正在Android Studio中开发一款简单的手机游戏,并遇到以下问题:
当玩家与敌人开始战斗时,执行无限循环(仅在玩家达到0生命值时结束)。 在这个循环中我想显示一个AlertDialog(并做一些其他的东西,比如攻击计算),循环应该在AlertDialog被解除时继续。 我该如何实现此功能?
这是我的(简化)代码:
while (player.hp > 0) {
showDialog("some Text");
.
.//wait for AlertDialog to close?
.
do_other_stuff();
}
showDialog(String text):
AlertDialog ad = new AlertDialog.Builder(this).create();
ad.setCancelable(false);
ad.setMessage(text);
ad.setButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
ad.show();
我制作(复制粘贴)showDialog()方法只是因为我经常使用AlertDialogs,我也可以在没有为它编写方法的情况下这样做,如果只有可能的话...... < / p>
修改 我尝试了一种不同的方法来解决这个问题而没有一个while循环,现在一切正常。 我会在每次可能会降低健康状况的行动后检查玩家的HP。