1创建一个精妙 enemy_1 把敌机1拖进去。
2创建一个js脚本 enemy_1 与敌机 做关联。
编写脚本,敌机一直向下。
cc.Class({ extends: cc.Component, properties: { }, onLoad () { }, start () { }, update (dt) { this.node.y = this.node.y-2; }, });
敌机弄成预制资源
game.js中声明pre_enemy_1
创建敌机,声明对象池
创建敌机的方法
和创建子弹一样。
//敌机对象池 this.enemy_1_pool = new cc.NodePool(); this.enemy_1_time = 0;//敌机创建的时间 create_enemy_1(){ let enemy_1 = null; if (this.enemy_1_pool.size()> 0) { // 通过 size 接口判断对象池中是否有空闲的对象 enemy_1 = this.enemy_1_pool.get(); } else { // 如果没有空闲对象,也就是对象池中备用对象不够时,我们就用 cc.instantiate 重新创建 enemy_1 = cc.instantiate(this.pre_enemy_1); } enemy_1.parent = this.node; var pos =cc.v2(0,663); // 高663 enemy_1.setPosition(pos); }, onBulletKilled: function (bullet) { // 子弹 销毁的时候 回收到 对象池里面 this.bullet_pool.put(bullet); // 和初始化时的方法一样,将节点放进对象池,这个方法会同时调用节点的 removeFromParent }, on_enemy_1_killed: function (enemy_1) { // 子弹 销毁的时候 回收到 对象池里面 this.enemy_1_pool.put(enemy_1); // 和初始化时的方法一样,将节点放进对象池,这个方法会同时调用节点的 removeFromParent }, update(dt) { if (this.isBgMove) { this.setBG(); this.bullet_time++; if(this.bullet_time==5){ this.create_bullet(); this.bullet_time=0; } this.enemy_1_time++; if(this.enemy_1_time>=100){ this.create_enemy_1(); this.enemy_1_time=0; } } },
站长微信:xiaomao0055
站长QQ:14496453