飞机游戏的制作

   

      飞机游戏的整体体系分为三大类:我方飞机、子弹和敌方飞机这三个部分。


        前面小操作:建立好需要的图片的素材添加进去,调节好画布大小,让其变成竖屏的,这样有利于飞机操作【画布大小为700,1000最好】


        首先说说我方飞机:把我方飞机建立好,我们需要的就是让我方的飞机实现拖动,也就是拖拽事件【onTouchBegan、onTouchMoved、onTouchEnded】。


        再来说说子弹:子弹就是与我放飞机相关的,它的位置是处于在飞机前方一点,所以在调试坐标的时候要注意一下,子弹的作用就是为了发射出去击败敌人,所以我们需要让它动起来,动起来的同时就是需要跟着飞机的位置移动并且实现连发的状态。

   子弹移动代码:

_init: function () {
    cc.eventManager.addCustomListener(USER_FIRE,that.location.bind(this))    【USER_FIRE:这个在我们一开始的时候需要在最前面定义一下

},
location:function(event){
    var date =event.getUserData();
    var bullet = new BulletLayerSprite();       【BulletLayerSprite:这是我们在一开始要创建的层级管理
    this.addChild(bullet);
    bullet.setPosition(date.x,date.y+80)
  },
 
  
     最后说说敌机:敌机的状态是从上往下掉落,这也就很简单了,只要实现和子弹一样的移动功能,不过要加的就是敌机位置是随机出现的。
敌机代码:
 
  
_Enenmy:function(){
    var enemyAirplan =new EnemyplaneSprite();
    enemyAirplan.setPosition(cc.winSize.width*Math.random(),cc.winSize.height)
    this.addChild(enemyAirplan)

}
    实现出现还需要添加一个定时器,不然只会出现一架飞机。
   定时器代码:
this.schedule(this._Enenmy, 1, cc.repeatForever, 1)    【就是调用我们一开始敌机的代码】
 
  
PS:在子弹和敌机大量出现的过程中,出现的太多我们需要清除掉那些多余的,否则就会占很大内存让游戏越来越卡。
 
  
【removeBullet:function (target) {
    target.removeFromParent(true)
}】     这就是清除缓存的代码。

  


你可能感兴趣的:(飞机游戏的制作)