我正在学习 Beginning Android Game 电子书中的 Mr. Nom 教程, 在识别触摸位置的部分,即使条件为真,if 语句也不会执行。
我运行了调试器并检查了值。如果是这样的话
if(event.x >0 && event.x <64 && event.y>416 && event.y<480)
但即使有这样的值 事件.x = 15 事件.y = 450 (来自调试器) 它不会在 if 语句的大括号内。 请求的图像位于纵向屏幕的左下角。
有什么想法吗?
谢谢!
最佳答案
如果event.x = 15
且event.y = 450
,则条件
event.x >0 && event.x <64 && event.y>416 && event.y<480
计算结果为真。您的代码中一定有其他错误。 (也许分支 被 执行了,只是由于某种原因你没有看到它的效果。)请发布更多代码,或者更好的是 SSCCE .
为了调试这种情况,我建议你分解表达式并做类似的事情
Log.I("...", "cond1: " + (event.x > 0));
Log.I("...", "cond2: " + (event.x < 64));
Log.I("...", "cond3: " + (event.y > 416));
Log.I("...", "cond4: " + (event.y < 480));
关于java - Android - 如果语句不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7719348/