作者想让飞机能发子弹
1 资源
var res = { ///.... BULLET1:'res/bullet1.png',//..... };
2 有调度的airplane
var Airplane = cc.Layer.extend({ ctor:function (){ //...... me.batchNode=new cc.SpriteBatchNode(res.BULLET1); me.batchNode.retain(); me.bullteId=0; me.bullteSpeed=500; me.bulltes={}; me.schedule(me.fire,0.5); //...... return true; },onExit:function(){ me.batchNode.release(); },fire:function(dt){ var me=this; var sp=new cc.Sprite(me.batchNode.getTexture()); var point=me.air.getPosition(); var px=point.x; var py=point.y + me.air.getContentSize().height + 20; sp.setPosition(px,py); var bid=me.bullteId++; sp.setTag(bid); me.addChild(sp,-1); var flyLen= cc.winSize.height - py; var duration = flyLen / me.bullteSpeed; var action=new cc.Sequence([ new cc.MoveTo(duration,cc.p(px,cc.winSize.height)),new cc.CallFunc(function(bullet,id){ delete this.bulltes[id]; this.removeChildByTag(id); },me,bid) ]); sp.runAction(action); me.bulltes[bid]=sp; } });