你正在查看: 首页 > 技术文章>Cocos Creator > 动态绑定脚本函数,无需在拖拽

动态绑定脚本函数,无需在拖拽



//支持 Button 和 Toggle

ANNIUBANG(NODE,WENJIAN,HANSHU,ZHI){

if(NODE instanceof Array ){ for(var ms=0;ms< NODE.length;ms++){ if(!NODE[ms]){ continue; } var clickEventHandler = new cc.Component.EventHandler(); clickEventHandler.target =cc.find("Canvas"); clickEventHandler.component = WENJIAN; clickEventHandler.handler = HANSHU; if(ZHI){ if( ZHI instanceof Array ){ if( ZHI[ms] ){ clickEventHandler.customEventData = ZHI[ms]; } }else{ clickEventHandler.customEventData = ZHI; } } if(NODE[ms].getComponent(cc.Button)){ NODE[ms].getComponent(cc.Button).clickEvents[0]=(clickEventHandler); } if(NODE[ms].getComponent(cc.Toggle)){ NODE[ms].getComponent(cc.Toggle).clickEvents[0]=(clickEventHandler); } } }else{ if(!NODE){ return ; } var clickEventHandler = new cc.Component.EventHandler(); clickEventHandler.target =cc.find("Canvas"); clickEventHandler.component = WENJIAN; clickEventHandler.handler = HANSHU; if(ZHI){ clickEventHandler.customEventData = ZHI; } if(NODE.getComponent(cc.Button)){ NODE.getComponent(cc.Button).clickEvents[0]=(clickEventHandler); } if(NODE.getComponent(cc.Toggle)){ NODE.getComponent(cc.Toggle).clickEvents[0]=(clickEventHandler); } } }

//调用方法一 单个
this.ANNIUBANG("节点node","脚本名称","脚本里面的函数","函数传递值");
//多个节点使用同一个脚本 调取同一个函数 传不同的值

this.ANNIUBANG(["1.节点node",
"2.节点node"
,"脚本名称","脚本里面的函数",["1.函数传递值",
"1.函数传递值"
]);

 
客服 反馈