FGUI与Laya UI混合使用
在FGUI创建的UI类中动态添加Laya创建的Scene遇到问题
1)Scene中的点击事件不能触发了
以下为FGUI中
以为为动态添加Scene后的效果
以下为在代码中动态在当前页面添加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)
这样写时不会报错,但点击事件失效
1)Scene中的点击事件不能触发了
以下为FGUI中
以为为动态添加Scene后的效果
以下为在代码中动态在当前页面添加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)
这样写时不会报错,但点击事件失效
没有找到相关结果
已邀请:
2 个回复
谷主
赞同来自:
zmfkplj
赞同来自:
方案二:
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);
}));