这是一个初学者的问题。为什么这个方法的布尔返回是一样的? (true或false具有相同的结果)
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
if(pSceneTouchEvent.isActionUp()) {
Log.i("testing", "always happen regardless the boolean return");
}
Log.i("asdf", "i thought this line won't happen if return false");
return false;
}
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
if(pSceneTouchEvent.isActionUp()) {
Log.i("testing", "always happen regardless the boolean return");
}
Log.i("asdf", "return true, always happen");
return true;
}
请告诉我们有什么区别,或者哪一个是正确的?
抱歉英语不好
答案 0 :(得分:0)
返回 true 告诉Android已经处理了触摸命令。因此,如果此代码运行,返回true,Android将不会查找触摸操作可能运行的任何其他代码(例如,如果场景下面有某些内容)。如果您有堆叠的项目,但只希望触摸操作在堆栈顶部实现项目,或者您希望背景对触摸作出反应但不干扰游戏,则此功能非常有用。