1

这是一个初学者的问题。为什么这个方法的布尔返回是一样的?(真假结果相同)

@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;
        }

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

对不起英语不好

4

1 回答 1

0

返回true告诉 Android 触摸命令已被处理。因此,如果此代码运行并返回 true,Android 将不会寻找任何其他触摸动作可能运行的代码(例如,如果场景下方有东西)。如果您有堆叠的项目但只希望触摸操作影响堆叠顶部的项目,或者如果您希望背景对触摸做出反应但不干扰游戏,这将很有用。

于 2013-11-10T10:12:44.283 回答