cocos creator动态添加点击事件

游戏列表数据, 比如游戏背包, 排行榜等界面, 当需要给其中的项目添加点击事件时:

1.在 js 中绑定上点击事件的方式:

   initBoard: function () {
       for (let i = 0; i < this.node.children.length; i++) {
           let node = this.node.children[I];
           this.bindClickEvent(node.getComponent(cc.Button), i);
       }
   },

   bindClickEvent: function (button, index) {
       var clickEventHandler = new cc.Component.EventHandler();
       //这个 node 节点是你的事件处理代码组件所属的节点
       clickEventHandler.target = this.node; 
       //这个是代码文件名
       clickEventHandler.component = "CircleBoard";
       clickEventHandler.handler = "callback";
       clickEventHandler.customEventData = index;
       button.clickEvents.push(clickEventHandler);
   },

   //点击事件回调 target ==》node, customEventData ==》 index
   callback: function (target, customEventData) {
       this.nodeList[customEventData].getComponent("Circle").updateCircle();
   },

2.当然,也可以适用直接在视图中绑定的方式,也是使用最多的方式:


cocos creator动态添加点击事件_第1张图片
bind.png

实现效果如下:


cocos creator动态添加点击事件_第2张图片
bindClickEvent.gif

你可能感兴趣的:(cocos creator动态添加点击事件)