我正在关注来自Beginning Android Game电子书的Nom先生教程, 并且在识别触摸位置的部分中,即使条件为真,if语句也不会执行。
我运行调试器并检查了值。 if就像是
if(event.x >0 && event.x <64 && event.y>416 && event.y<480)
但即使是像这样的价值观 event.x = 15 event.y = 450 (来自调试器) 它不会进入if语句的大括号内。 请求的图像位于纵向屏幕的左下角。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
如果event.x = 15
和event.y = 450
,那么条件
event.x >0 && event.x <64 && event.y>416 && event.y<480
评估为true。你的代码中还有其他一些错误。 (也许分支已经执行,只是因为某些原因你没有看到它的效果。)请发布更多代码,甚至更好的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));