FGUI与Laya UI混合使用

在FGUI创建的UI类中动态添加Laya创建的Scene遇到问题
1)Scene中的点击事件不能触发了
 
以下为FGUI中
111.png

 
以为为动态添加Scene后的效果

222.png

 

以下为在代码中动态在当前页面添加Scene
 
方案一:
        Laya.Scene.open("test/Level_1.scene", false, null,
            Laya.Handler.create(t, function (scene: Laya.Scene): void {                
                let sceneTarget: fgui.GObject = fgui.GObject.cast(scene);
                t.view.addChild(sceneTarget);
 
这样写时fgui.GObject.cast(scene);此处会报错不到$owner
 
方案二:
          t.view.displayObject.addChild(scene)
 
这样写时不会报错,但点击事件失效



 
已邀请:

谷主

赞同来自:

这代码完全摸不着边际。先下载laya的demo学习一下。

zmfkplj

赞同来自:

问题解决了,使用方案二时先移除scene中初始父容器  scene.parent.removeSelf();//注意要移出壳否则事件失效
 
方案二:
          t.view.displayObject.addChild(scene)
 
如下操作就可以了

        Laya.Scene.open("mini/game2/Level_" + GameData.miniGame2Data.currLevel + ".scene", false, null,
            Laya.Handler.create(t, function (scene: Laya.Scene): void {
                scene.parent.removeSelf();//注意要移出壳否则事件失效
                t._subCom.displayObject.addChild(scene);
            }));
 

要回复问题请先登录注册