boolean返回onAreaTouch方法和引擎

时间:2013-11-09 03:12:04

标签: android boolean andengine

这是一个初学者的问题。为什么这个方法的布尔返回是一样的? (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;
        }

请告诉我们有什么区别,或者哪一个是正确的?

抱歉英语不好

1 个答案:

答案 0 :(得分:0)

返回 true 告诉Android已经处理了触摸命令。因此,如果此代码运行,返回true,Android将不会查找触摸操作可能运行的任何其他代码(例如,如果场景下面有某些内容)。如果您有堆叠的项目,但只希望触摸操作在堆栈顶部实现项目,或者您希望背景对触摸作出反应但不干扰游戏,则此功能非常有用。