我正在使用 AndEngine 开发我的游戏,但我认为这个问题与 AndEngine 无关。
如果出现以下情况,我有两个可能的对话框:
- 用户在不正确的区域触地或
- 用户从不正确的区域抬起。
不幸的是,如果用户在不正确的区域触地,当他们抬起时,他们也满足错误 2——从错误的区域抬起。
简而言之,这是我的代码:
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
float y = pSceneTouchEvent.getY();
int dialog_count = 0;
if (pSceneTouchEvent.isActionDown() && y < 1000) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog Code
..............
}
}
dialog_count ++;
Log.d("Dialog Count", "Count is " + dialog_count);
} else if (dialog_count < 1 && pSceneTouchEvent.isActionUp() && y > 105) {
Log.d("Dialog Count", "Count is still " + dialog_count);
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Second AlertDialog Code
.................
}
}
}
return false;
}
现在,我的第一个日志dialog_count
显示的值为 1。但是,当我抬起第二个日志时,显示的值为 0。不知何故,这个值要么被重置,要么我的 Else 语句看不到更新的值,dialog_count
因为我得到了第二个对话框弹出我的第一个对话框。
有任何想法吗?