AndEngine:onAreaTouch触发父代而不是子代

时间:2013-11-12 11:32:13

标签: android touch andengine

我无法将OnAreaTouch添加到我的精灵中。我有一个全屏Enitity(Recatngle),我将它附加到我的父级场景。那么矩形是孩子吧?所以我附上它并覆盖了OnAreaTouch方法。现在它接受触摸事件但触发下面图层的触摸事件。我的意思是我在这下面有一个精灵,所有都附在主场景上,并有自己的触摸方法。这里有什么问题?如何仅将OnAreaTouch专门限制为图层/精灵?

请注意:我是AndEngine的新手并使用GLES2 AnchorCenter分支。

1 个答案:

答案 0 :(得分:2)

您可以通过两种方式实施

  1. 当您转到子图层时,如果您转到子图层,则在父图层中布置boolean并将其设为true

    @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
                ITouchArea pTouchArea, float pTouchAreaLocalX,
                float pTouchAreaLocalY) {
    
            if(isChildLayer)
                return false;
    
            return true;
        }
    
  2. 如果要暂停父场景,请将图层设为场景并放置此代码

     mEngine.getScene().setChildScene(childScene, false, true, true);