你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
pandajc
赞同来自:
谷主
freelancer13
这在创建UI层级容器的时候,最上层,创建一个专门用于监听全局交互的层: this._gameMain.interactionEventLayer = fgui.UIPackage.createObject(pakName,comName).asCom; 然后这个层专门监听交互事件: this._gameMain.interactionEventLayer.node.on(Node.EventType.MOUSE_DOWN,this._gameMain.onMouseDown,this._gameMain);
要回复问题请先登录或注册
4 个回复
pandajc
赞同来自:
pandajc
赞同来自:
谷主
赞同来自:
freelancer13
赞同来自:
我记得这个问题是在creator 3.5的时候出现的,也不知道现在最新的版本有没有什么变化
我的解决方案在之前的帖子里说过了:
这个方案不雅,但我也没有去寻找更好的解决办法。
注意把这个用于监听交互的组件放在最上层,
盖住全屏幕(fgui适配也行,代码makeFullScreen也行)
并且要设置为 可穿透空白区域
然后统一由它提供全局可访问的接口转发所有Input就可以了。
下图是我当时的项目里,游戏开始时的处理fgui容器的命令组
你可以看到注释里写着“交互层”的地方,就是专门创建出来用于转发cocos的Input事件的层级
实际业务中你也不一定需要创建这么多空容器,我当时这样做只是为了偷懒而已。