cocos creator---对象池使用
2018-02-07 20:43
351 查看
1、对象池,顾名思义就是暂时存放对象的容器; 常用存放prefab,尽可能的减少Canvas画布上节点的挂载。加快加载速度。 2、使用: a、准备prefab b、初始化对象池---场景初始化加载中,创建需要数量的节点,放到对象池中 properties: { enmyPrefab: cc.Prefab }, onLoad: function () { this.enemyPool = new cc.NodePool(); // NodePool(用来重复创建和销毁节点,官方文档:://docs.cocos.com/creator/api/zh/classes/NodePool.html)。 } c、从对象池中 createEnemy: function () { let enemy = null; //c1、当前对象池中的可用对象数量 if (this.enemyPool.size > 0) { //_1、从对象池中获取对象 eneny= this.enemyPool.get(); } else { //_2、若没有空闲的对象,也就是对象不够用时,就克隆节点 enemy = cc.instantiate(this.enemyPrefab); } //c2、将生成的节点挂载到节点树上 enemy.parent = parentNode;(或者node.addChild(新节点)) //c3、调用enemy的脚本进行初始化 enemy.getComponent('Enemy').init(); } d、将不用的对象回收到对象池中 onEnemyKilled: function (enemy) { this.enemyPool.put(enemy); } e、清除对象池(切换场景或者节点不再被需要时清空) myPool.clear();
相关文章推荐
- Cocos Creator 使用对象池(摘自官方文档)
- 初学者使用cocos creator制作第一个小游戏以及脚本编辑器的选择
- 对象池技术apache-common pool的使用
- Using object pools(使用对象池)
- Unity 对象池的使用
- 对象池使用
- unity3d对象池的使用
- Cocos creator 使用 Vscode 2017
- Unity中对象池的使用
- PoolManager 对象池插件(Unity)的使用
- cocos creator 中使用自定义shader
- apache对象池的使用
- 简单构建一个xmlhttp对象池合理创建和使用xmlhttp对象
- 对象池使用时要注意几点
- UIFramework之对象池的使用
- Cocos Creator中使用计时器(官方文档摘录)
- [置顶] unity中对象池的使用
- 编写高效的C++程序方法之使用对象池
- 对象池模式和代理模式配合使用的例子
- Hbase使用commons-pool简单对象池示例