自定义事件(2016.6.23)
2016-06-23 08:23
281 查看
关于自定义事件就是类与类之间的传递参数。或者是这个方法体想要引用另一个方法体的内容。就可以在一个方法体中抛出一个自定事件。在另一个方法体中接收。
ps:自定义事件满足的是 好莱坞原则 只有是层级高 的抛出事件,层级低的接收事件。否则就会出现问题。
抛出自定义事件:
cc.eventManager.dispatchCustomEvent(USER_CLICK_SHRED_EVENT, temp1.money)
ps:USER_CLICK_SHRED_EVENT 是在类外定义的一个全局变量 。也就是这个事件的名称
var USER_CLICK_SHRED_EVENT = “USER_CLICK_SHRED_EVENT”;
temp1.money是你在一个类中要传到另一个类里的对象。
在你需要接收的类或者方法体中想要接受上面自定义事件抛出的对象 就是必须在这个类或者方法体中添加自定义事件的侦听。
自定义事件的侦听:cc.eventManager.addCustomListener(USER_CLICK_SHRED_EVENT,function(event){
var data = event.getUserData();
cc.log(‘获得了数据’,data)
})
ps:USER_CLICK_SHRED_EVENT这个就是自定义事件的名称。用于区分接收的是哪一个自定义事件抛出的对象。
function(event){
var data = event.getUserData();
cc.log(‘获得了数据’,data)
}
是一个方法体,其中event就是接收到上面自定义事件抛出的对象
var data = event.getUserData();
这句话就是获得传来对象的数据。 然后就可以用传来的对象做自己想做的事情。对于类与类之间的结藕有很好的作用。并且非常的好用。
对于自定义事件唯一的缺点就是 每次使用自定义事件之后都要给事件移除。否则就会消化大量的电脑资源。
ps:自定义事件的移除
onExit:function(){
cc.eventManager.removeCustomListeners(USER_CLICK_SHRED_EVENT)
}
ps:自定义事件满足的是 好莱坞原则 只有是层级高 的抛出事件,层级低的接收事件。否则就会出现问题。
抛出自定义事件:
cc.eventManager.dispatchCustomEvent(USER_CLICK_SHRED_EVENT, temp1.money)
ps:USER_CLICK_SHRED_EVENT 是在类外定义的一个全局变量 。也就是这个事件的名称
var USER_CLICK_SHRED_EVENT = “USER_CLICK_SHRED_EVENT”;
temp1.money是你在一个类中要传到另一个类里的对象。
在你需要接收的类或者方法体中想要接受上面自定义事件抛出的对象 就是必须在这个类或者方法体中添加自定义事件的侦听。
自定义事件的侦听:cc.eventManager.addCustomListener(USER_CLICK_SHRED_EVENT,function(event){
var data = event.getUserData();
cc.log(‘获得了数据’,data)
})
ps:USER_CLICK_SHRED_EVENT这个就是自定义事件的名称。用于区分接收的是哪一个自定义事件抛出的对象。
function(event){
var data = event.getUserData();
cc.log(‘获得了数据’,data)
}
是一个方法体,其中event就是接收到上面自定义事件抛出的对象
var data = event.getUserData();
这句话就是获得传来对象的数据。 然后就可以用传来的对象做自己想做的事情。对于类与类之间的结藕有很好的作用。并且非常的好用。
对于自定义事件唯一的缺点就是 每次使用自定义事件之后都要给事件移除。否则就会消化大量的电脑资源。
ps:自定义事件的移除
onExit:function(){
cc.eventManager.removeCustomListeners(USER_CLICK_SHRED_EVENT)
}
相关文章推荐
- cocos-js 跨域显示图片
- cocos-js添加微信js sdk
- COCOX -JS 学习日志,常用代码段
- 【步兵 cocos-js】prototype在开发中的妙处
- 【步兵 cocos-js】cc.EditBox 的 快速创建
- Cocos2dx-js cc.Class的实例化
- 键盘事件,自定义事件
- cocos-js button点击事件
- cocos-js触摸事件
- cocos-js 动作
- C++调用js 方法封装
- Js Binding 实现
- cocos-js Http方式网络请求
- cocos-js 学习小记
- CocosCreator知识库(五)_本地存储(localStorage)
- Cocos-2dx 错误汇总
- 关于cocos-js中的Action
- 自己用cocoscreator写的寻路算法
- cocos-js http网络请求XMLHttpRequest
- cocos-js 加载cocostudio制作的帧动画