在开发学习的过程中,正好遇到需要用自定义事件。
总结一下使用情况:
1、emit的使用:点击角色装备弹出装备介绍框(预制),点击脱掉按钮,关闭介绍框,并通知主页面装备已脱掉。在这里我使用emit。
代码如下:
预制Ts中使用emit派发自定义事件到预制的父节点也就是主界面根节点
主界面Ts中,在根节点中监听脱装事件,刷新角色显示
2、dispatchEvent的使用:点击角色无装备部位,弹出装备选择框,由于是预制中套预制,使用emit
找根节点要写很多parent。于是这里我用了dispatchEvent,冒泡向上传递事件,然后分别再弹窗预制和根节点中捕获事件进行处理,最后终止事件冒泡
代码如下:
装备选项的预制中,发送事件
弹窗预制中,捕获穿装事件,关闭弹窗
根节点中,捕获穿装事件,终止事件并刷新角色显示