Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AndEngine:OnAreTouch触发父级而不是子级_Android_Touch_Andengine - Fatal编程技术网

Android AndEngine:OnAreTouch触发父级而不是子级

Android AndEngine:OnAreTouch触发父级而不是子级,android,touch,andengine,Android,Touch,Andengine,我无法将OnAreTouch添加到我的精灵中。我有一个全屏Entity(Recatngle)并将其附加到父场景。那么这个长方形就是孩子,对吗?所以我附加了它并覆盖了OnAreTouch方法。现在它接受触摸事件,但触发下面层的触摸事件。我的意思是,我在下面有一个精灵,所有的精灵都连接到主场景,并有自己的触摸方法。这里有什么问题?如何将OnAreTouch仅限于层/精灵 请注意:我是AndEngine新手,使用GLES2 AnchorCenter分支。您可以通过两种方式实现 当您要到子层时,将布尔值

我无法将OnAreTouch添加到我的精灵中。我有一个全屏Entity(Recatngle)并将其附加到父场景。那么这个长方形就是孩子,对吗?所以我附加了它并覆盖了OnAreTouch方法。现在它接受触摸事件,但触发下面层的触摸事件。我的意思是,我在下面有一个精灵,所有的精灵都连接到主场景,并有自己的触摸方法。这里有什么问题?如何将OnAreTouch仅限于层/精灵


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

您可以通过两种方式实现

  • 当您要到子层时,将布尔值放置在父接触中,如下所述,并在切换到子层时将其设置为真

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

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