cocos creator阶段整理: 修改层级关系的组件

本文分享了一种游戏开发中解决同层级节点顺序频繁改变的问题的方法,通过自定义组件和利用notify函数优化节点层级顺序,提高游戏性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近整理自己做过的项目,顺便记录下一些有用的代码:

1. 以前做过一个项目有这样的需求: 游戏过程中会触发同层级节点顺序的频繁改变,当时没有找到合适的方法,就写了一个

 利用notify 函数实现的方法, 现优化下贴在这里

代码如下


 cc.Class({
    extends: cc.Component,    
    //编辑器属性定义
    properties: {
        zIndex: {
            type: cc.Integer, //使用整型定义
            default: 0,            
            //notify用来监听属性值是否变化
            notify(oldValue) {                
                //判断与原来值是否一样
                if (oldValue === this.zIndex) {               
                    return;
                }
                this.node.zIndex = this.zIndex;
            }
        }
    },
    onLoad () {        
        this.node.zIndex = this.zIndex;
    }
});

用法: 把此脚本挂到需要改变层级顺序的节点上就可以

调用:this.node.setLocalZOrder(index);

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值