【cocos creator 3.x】cocos creator2.x项目升级3.x项目改动点

news2025/4/19 17:20:13

1、基本改动

基本改动:去掉了cc.,改成在顶部添加导入
项目升级时候直接将cc.去掉,根据提示添加引用

node只保留position,scale,rotation,layer
其余属性如opacity,如果需要使用需要在节点手动添加UIOpacity组件
在这里插入图片描述

3d层和ui层分开展示,ui层必须在Canvas下,如果需要在3d层显示ui参考:https://blog.csdn.net/K86338236/article/details/146573306

粒子和3d方面完善了很多,建议有相应需求的项目升级
注意3.5.5以上shader格式和以下3.0.0-3.5.5版本格式不同,需要重写

2、部分属性获取方式改变:

rotation:
编辑器内显示的rotation其实是eulerAngles
代码赋值用:

this.node.setRotationFromEuler(v3(0, 0, 0))

position:

this.node.setPosition(v3(0, 0, 0))

坐标转换:convertToNodeSpaceAR,convertToWorldSpaceAR
目前可以直接赋值和获取世界坐标:

this.node.getWorldPosition()
this.node.setWorldPosition(v3(0, 0, 0))

width,height,anchorX,anchorY:

node.getComponent(UITransform).width
node.getComponent(UITransform).height
node.getComponent(UITransform).anchorX
node.getComponent(UITransform).anchorY

opacity:

node.getComponent(UIOpacity).opacity

color:

node.parent.getComponent(Sprite).color
node.parent.getComponent(Label).color
node.parent.getComponent(RichText).fontColor

3、方法变化:

  • 计算两点距离
p1.sub(p2).mag() -> Vec3.distance(p1,p2)
  • 浅拷贝:
    直接加.clone()
this.node.getWorldPosition().clone()

加载模块:基本没变

        assetManager.resources?.load(path, AudioClip, (err, clip) => {//路径,类型,回调
            if (err) {
                console.warn(err)
                return
            }
			//处理加载的资源
        })
  • tween:官方文档

使用例子:
支持各种带数值的属性,包括string,fillRange等

    let tweenDuration: number = 1.0;// 缓动的时长
    let action = tween(this.node)
        .to(tweenDuration, { position: v3(0, 10, 0) })// 这里以node的位置信息坐标缓动的目标 
        .to(tweenDuration, { position: v3(0, 10, 0) },
            {
                onUpdate: (target, ratio) => { },//当前缓动的进度,值可能为空
                progress: easing.sineOutIn//缓动速度变化函数
            })// 这里以node的位置信息坐标缓动的目标 
        .call(() => {//插入函数
        })
        .delay(1)//延时1秒
        .start();
        
//移除节点所有动画
Tween.stopAllByTarget(this.node);
  • 简易全局事件系统:

    director.on(“attack”, this.onAttack, this);
    director.off(“attack”, this.onAttack, this);
    director.emit(“attack”);

  • 音频:官方文档
    改动较大,使用audioEngine的需要重写了
    Cocos Creator 3.x 移除了 v2.x 中的 audioEngine API,统一使用 AudioSource 组件播放音频。

4、常见问题:

  1. 粒子层会被ui层遮挡:
    给粒子节点添加UIMeshRenderer和UITransform,scale设置为0.01
    或者新建一个相机,层级比主相机高,只渲染粒子层,相机ClearFlags需要改为DEPTH_ONLY

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2337435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

List基础与难度题

1. 向 ArrayList 中添加元素并打印 功能描述: 程序创建一个空的 ArrayList 集合,用于存储字符串类型的元素。向该 ArrayList 中依次添加指定的字符串元素。使用增强型 for 循环遍历 ArrayList 中的所有元素,并将每个元素打印输出到控制台。 …

Oracle19C低版本一天遭遇两BUG(ORA-04031/ORA-600)

昨天帮朋友看一个系统异常卡顿的案例,在这里分享给大家 环境:Exadata X8M 数据库版本19.11 1.系统报错信息 表象为系统卡顿,页面无法刷出,登陆到主机上看到节点1 系统等待存在大量的 cursor: pin S wait on X等待 查看两个节…

【4.1.-4.20学习周报】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract一、方法介绍1.1HippoRAG 1.2HippoRAG2二、实验2.1实验概况2.2实验代码2.3实验结果 总结 摘要 本博客介绍了论文《From RAG to Memory: Non-Parametri…

python学习—合并多个word文档

系列文章目录 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—循环语句-控制流 python学习—合并多个Excel工作簿表格文件 pytho…

[Python] UV工具入门使用指南——小试牛刀

背景 MCP开发使用到了uv,简单记录一下: 为什么MCP更推荐使用uv进行环境管理? MCP 依赖的 Python 环境可能包含多个模块,uv 通过 pyproject.toml 提供更高效的管理方式,并且可以避免 pip 的一些依赖冲突问题。…

PclSharp ——pcl的c#nuget包

简介: NuGet Gallery | PclSharp 1.8.1.20180820-beta07 下载.NET Framework 4.5.2 Developer Pack: 下载 .NET Framework 4.5.2 Developer Pack Offline Installer 离线安装nupkg: nupkg是visual studio 的NuGet Package的一个包文件 安…

MGR实现mysql高可用性

一。MGR和PXC的区别 1. PXC的消息广播机制是在节点间循环的,需要所有节点都确认消息,因此只要有一个节点故障,则会导致整个PXC都发生故障。而MGR则是多数派投票模式,个别少数派节点故障时,一般不影响整体的可用性。这…

新型多机器人协作运输系统,轻松应对复杂路面

受到鱼类、鸟类和蚂蚁等微小生物体协作操纵的启发,研究人员开发了多机器人协作运输系统(Multirobot Cooperative Transportation Systems,MRCTS)运输单个机器人无法处理的重型超大物体,可用于搜救行动、灾难响应、军事…

【秣厉科技】LabVIEW工具包——OpenCV 教程(19):拾遗 - imgproc 基础操作(上)

文章目录 前言imgproc 基础操作(上)1. 颜色空间2. 直方图3. 二值化4. 腐蚀、膨胀、开闭运算5. 梯度与轮廓6. 简易绘图7. 重映射 总结 前言 需要下载安装OpenCV工具包的朋友,请前往 此处 ;系统要求:Windows系统&#x…

学习笔记:金融经济学 第3讲

学习笔记:金融经济学 第3讲 注:A本金,n时间(比如年),r利率一、 计算习惯1. 单息(新产生的利息不算进本金重新计算利息,收款额A(1nr) )2. 复利(新产生的利息算进本金重新计…

NVIDIA RTX™ GPU 低成本启动零售 AI 场景开发

零售行业正在探索应用 AI 升级客户体验,同时优化内部流程。面对多重应用场景以及成本优化压力,团队可采用成本相对可控的方案,来应对多重场景的前期项目预演和落地,避免短期内大规模投入造成的资源浪费。 客户体验 AI 场景的研究…

【网络】IP层的重要知识

目录 1.IP层的作用 2.主机和节点 3.网络层和数据链路层的关系 4.路由控制 4.1.路由控制的过程 4.2. IP地址与路由控制 4.3.路由控制表的聚合 4.4.静态路由和动态路由 4.5.动态路由的基础 5.数据链路的抽象化 5.1.数据链路不同,MTU则相异 5.2.路径MTU发…

OpenCV 模板匹配方法详解

文章目录 1. 什么是模板匹配?2. 模板匹配的原理2.1数学表达 3. OpenCV 实现模板匹配3.1基本步骤 4. 模板匹配的局限性5. 总结 1. 什么是模板匹配? 模板匹配(Template Matching)是计算机视觉中的一种基础技术,用于在目…

一键解锁Landsat 9地表温度计算!ENVI与ArcGIS Pro全流程详解(无需NASA大气校正)

为什么选择Landsat 9的L2SP数据? 之前:《ArcGIS与ENVI——基于landsat与Modis影像的遥感技术的生态环境质量评价》,基于Landsat前期的产品计算温度反演数据需要一系列复杂的步骤。 现在: Landsat 8-9的Collection 2 Level-2&…

RK3588的linux下实现HDMI输出分辨率及帧率的裁剪

bug反馈:客户现场反馈hdmi接显示屏出现概率性闪黑屏,排除线材,显示屏及GND等外部因素后,提出尝试降低hdmi的输出分辨率和帧率对比测试看看。 Step1:先直接在linux的sdk中找到板卡编译生成后的dts找到hdmi节点 然后找到…

XR技术赋能艺术展演|我的宇宙推动东方美学体验化

本次广州展览现场引入我的宇宙XR体验模块,通过空间计算与动作捕捉技术,让观众在潮玩艺术氛围中体验虚拟互动,打造“看得懂也玩得动”的展演新场景。 作为科技与文化融合的推动者,我的宇宙正在以“体验科技”为媒介,为潮…

多线程进阶知识篇(二)

文章目录 一、Synchronized 锁二、ReentrantLock 锁三、两阶段终止阶段一:通知终止阶段二:响应中断 四、线程池为什么要使用线程池?如何创建线程池?ExecutorsThreadPoolExecutor 线程池的基本参数 五、线程池处理任务的流程 一、S…

Python深度学习基础——深度神经网络(DNN)(PyTorch)

张量 数组与张量 PyTorch 作为当前首屈一指的深度学习库,其将 NumPy 数组的语法尽数吸收,作为自己处理张量的基本语法,且运算速度从使用 CPU 的数组进步到使用 GPU 的张量。 NumPy 和 PyTorch 的基础语法几乎一致,具体表现为&am…

简单实现单点登录

单点登录 单点登录(Single Sign-On, SSO) SSO是一种统一身份认证技术,用户只需在认证平台登录一次,即可访问所有关联的应用程序或网站,无需重复输入凭据。例如,企业员工登录内部系统后,可直接…

02、GPIO外设(一):基础知识

基础知识 1、ZET6的引脚分布2、引脚输出3、引脚输入4、最大输出速度 1、ZET6的引脚分布 下面使用C8T6的引脚来类比ZET6的引脚,ZET6中的特殊功能引脚和C8T6的特殊功能引脚是一样。而通用IO引脚比C8T6多而已。下面的C8T6的特殊功能引脚的介绍: STM32F103C8…