作者想让飞机能发子弹
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;
}
});