enemy.js

cc.Class({
extends: cc.Component, properties: { enemySpeed: 0, //设置加速度
}, //初始化当前节点的y坐标
init: function () {
this.node.y = 0;
},
onLoad () { }, start () { }, update (dt) {
this.node.y += this.enemySpeed; //每帧运动
},
});

game.js

cc.Class({
extends: cc.Component, properties: { enemyPrefab: {
default: null,
type: cc.Prefab,
},
}, createEnemy: function (parentNode) {
let enemy = null;
if (this.enemyPool.size() > 0) { // 通过 size 接口判断对象池中是否有空闲的对象
enemy = this.enemyPool.get();
} else { // 如果没有空闲对象,也就是对象池中备用对象不够时,我们就用 cc.instantiate 重新创建
enemy = cc.instantiate(this.enemyPrefab);
}
enemy.parent = parentNode; // 将生成的敌人加入节点树
this.enemyNew = enemy;
enemy.getComponent('enemy').init(); //接下来就可以调用 enemy 身上的脚本进行初始化,
//如果不初始化enemy,在从对象池中获取this.enemyPool.get();的时候,该enemy身上的脚本参数还接着上次调用的时候;
//因为执行this.enemyPool.put();只是把enemy重新放回对象池,并不是真正销毁;执行this.enemyPool.get()又可以重新获取出来;
}, //监听键盘
setInputControl: function () {
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); }, onKeyDown: function (event) { switch(event.keyCode) {
case cc.KEY.t:
this.enemyPool.put(this.enemyNew); //点击键盘T键销毁敌人
break;
case cc.KEY.c:
this.createEnemy(this.node); //点击C键创建敌人
break;
}
}, onLoad () {
this.enemyPool = new cc.NodePool(); //new一个对象池出来
this.setInputControl(); //加载场景后持续监听键盘 }, // start () {
// console.log(this.enemyPool.size());
// this.createEnemy(this.node); // }, update (dt) {
console.log(this.enemyPool.size());
},
});

最新文章

  1. Enterprise Solution 生成实体数据访问接口与实现类型 Code Smith 6.5 模板文件下载
  2. DevExpress VGridControl 行宽自动调整
  3. 规则引擎集成接口(七)规则引擎调用Java类
  4. LeetCode:Ransom Note_383
  5. PowerDesigner 16.5
  6. [LintCode] Reverse Nodes in k-Group 每k个一组翻转链表
  7. MapReduce多线程下的错误
  8. BZOJ3808 : Neerc2012 Labyrinth of the Minotaur
  9. python实现跳板机
  10. PAT1013. Battle Over Cities(邻接矩阵、邻接表分别dfs)
  11. react 资源汇总
  12. Spring boot将配置属性注入到bean类中
  13. inlay检验标准
  14. 河南多校大一训练赛 E 开餐馆
  15. sqlserver2008用bat脚本备份时报错因为库名有中横杠【原创】
  16. Cocos2d-x 多分辨率支持
  17. docker-安装技巧
  18. Jmeter的使用简介及实例
  19. [Android]Animation 动画介绍和实现
  20. appium+python自动化61-中文输入乱码问题解决

热门文章

  1. 转载 C#开发串口总结,并提炼串口辅助类到公用类库中
  2. postgresql 建模文件 LDM 转成PDM 生成 SQL问题
  3. 联想(Lenovo)小新310经典版进bios方法
  4. Python面试题之解读Socketserver & Tcpserver
  5. MVC readioButtonList的创作过程及运用
  6. 20145314郑凯杰 《Java程序设计》实验四 实验报告
  7. 20135302魏静静Linux内核分析第二周学习总结
  8. JavaScript中字符操作之大小写转换
  9. Net_Prop 之 CTerrorPlayer 属性
  10. 在eclipse搭建python开发环境