如何利用CocosCreator工具池(2)

// BulletManager.js let myBulletPool = new cc.NodePool('Bullet'); //建设子弹工具池 let newBullet = myBulletPool.get(this); // 传入 manager 的实例,用于之后在子弹剧本中接纳子弹 // Bullet.js reuse (bulletManager) { this.bulletManager = bulletManager; // get 中传入的打点类实例 } hit () { this.bulletManager.put(this.node); // 通过之前传入的打点类实例接纳子弹 }

第六步:排除工具池

假如工具池中的节点不再被需要,我们可以手动清空工具池,销毁个中缓存的所有节点:

myPool.clear(); // 挪用这个要领就可以清空工具池

当工具池实例不再被任那里所引用时,引擎的垃圾接纳系统会自动对工具池中的节点举办销毁和接纳。但这个进程的时间点不行控,别的假如个中的节点有被其他处所所引用,也大概会导致内存泄露,所以最亏得切换场景或其他不再需要工具池的时候手动挪用 clear 要领来清空缓存节点。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsjfsp.html