gpt4 book ai didi

java - if 语句满足后执行 else 语句

转载 作者:行者123 更新时间:2023-12-02 06:49:29 25 4
gpt4 key购买 nike

我正在使用 AndEngine 来开发我的游戏,尽管我认为这个问题与 AndEngine 无关。

我有两个可能的对话框,如果满足以下条件,就会触发:

  1. 用户在不正确的区域着陆或
  2. 用户从错误的区域抬起。

不幸的是,如果用户在不正确的区域着陆,当他们抬起时,他们也会遇到错误 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 的更新值,因为我在第一个对话框之上弹出了第二个对话框。

有什么想法吗?

最佳答案

您的代码初始化

int dialog_count = 0;

每次运行时。

要保留上次看到的值,请将 dialog_count 设置为类中的实例变量。

请注意,您将看到两个事件,一个表示“向下”,一个表示“向上”。

关于java - if 语句满足后执行 else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18223391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com