cocos2dx js 自定义监听事件
cocos引擎还封装了一个自定义事件,下面我们将把一个节点对象通过自定义监听事件传入自定义回调事件中,并进行相应的函数调用。
代码
//自定义监听事件
customListener : function () {
var myListener = cc.EventListener.create({
event :cc.EventListener.CUSTOM,
target :this,
eventName:"myListener",//最好参考cocos将此参数定义为一个常量
callback : function (event) {
//获取Bear实例对象
var target = event.getUserData();
//方法调用
target.bearJump();
target.bearEat();
}
});
cc.eventManager.addListener(myListener,1);
},
//按钮点击触发
eventButtonClick : function(sender,type){
switch (type){
case ccui.Widget.TOUCH_ENDED:
//1.定义数据(在这里是Bear实例对象)
var bear = new Bear();
//2.创建自定义事件
var event = new cc.EventCustom("myListener");
//3.设置数据
event.setUserData(bear);
//4.分发事件
cc.eventManager.dispatchEvent(event);
break;
default:
break;
}
}
小熊
var Bear = cc.LayerColor.extend({
ctor : function () {
this._super();
},
bearJump : function () {
cc.log("小熊跳。。。");
},
bearEat : function () {
cc.log("小熊吃鱼。。。");
},
});
打印
Cocos2d-JS v3.15
小熊跳。。。
小熊吃鱼。。。