cocos对象池的使用

cocos对象池的使用,第1张

概述enemy.js cc.Class({ extends: cc.Component, properties: { enemySpeed: 0, //设置加速度 }, //初始化当前节点的y坐标 init: function () { this.node.y = 0; }, onLoad () {

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());    },});
总结

以上是内存溢出为你收集整理的cocos对象池的使用全部内容,希望文章能够帮你解决cocos对象池的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/998942.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存