
1.传递一个参数:
pg.TestScene.prototype.init = function () { if (cc.Scene.prototype.init.call(this)) { var sprite = cc.Sprite.create(res.Bet_Highlighted_png); sprite.setposition(cc.p(cc.winSize.wIDth/2,cc.winSize.height/2)); this.addChild(sprite,1,100); var movetoSeat = cc.moveto(0.5,cc.p(200,200)); var rotateBy = cc.rotateBy(0.5,180); var spawn = cc.spawn(movetoSeat,rotateBy); var delayTime = cc.delayTime(2); // 写法一 var callFunc = cc.callFunc(function () { console.log("1.sprite tag ==>" + sprite.getTag()); },this); // 写法二 // var callFunc = cc.callFunc(this.printLog,this,sprite); var sequence = cc.sequence(spawn,delayTime,callFunc); sprite.runAction(sequence); return true; } return false;};pg.TestScene.prototype.printLog = function (sprite) { console.log("2.sprite tag ==>" + sprite.getTag());};
2.传递两个参数:
pg.TestScene.prototype.init = function () { if (cc.Scene.prototype.init.call(this)) { var sprite = cc.Sprite.create(res.Bet_Highlighted_png); sprite.setposition(cc.p(cc.winSize.wIDth / 2,cc.winSize.height / 2)); this.addChild(sprite,rotateBy); var delayTime = cc.delayTime(2); var i = 0; var callFunc = cc.callFunc(this.printLog,this,[i ,sprite]); var sequence = cc.sequence(spawn,callFunc); sprite.runAction(sequence); return true; } return false;};pg.TestScene.prototype.printLog = function (target,data) { console.log("i ==>" + data[0]); console.log("sprite tag ==>" + data[1].getTag());};
用法说明:
cc.callFunc(function(target,data) { //target 默认是调用这个action的本体Node,Sprite等等 //data 传递的参数,多个参数可以用[data1,data2] 的Array方式组合 }, this,//通常绑定最外围的HelloWorldLayer 之类的, 可以方便调用, 比如为了removeChild data //参数,任意格式);总结
以上是内存溢出为你收集整理的cocos2d-js callFunc传参全部内容,希望文章能够帮你解决cocos2d-js callFunc传参所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)