您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x《雷电大战》(3)-子弹无限发射

2017-07-18 10:46 232 查看
Cocos2d-x《雷电大战》(3)-子弹无限发射

作者想让飞机能发子弹

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;
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2d-x html5 打飞机