码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 实战 Creator 2.x 项目升级 3.x!避坑要点与基础 API 写法差异总结


    最近,我将自己在 Cocos Store 上的一个 2D 项目《球球要回家》从 Creator 2.2.2 升级到 Creator 3.6.2,编程语言也从 JavaScript 全面升级至 TypeScript 并适配微信小游戏,目前在微信审核中!

    本篇文章就来跟大家分享一下,我在升级过程中踩到的一些坑,以及 2.x 与 3.x 中引擎最基本的一些接口的变化。

    不论你是升级老项目,还是想尝试在 Creator 3.x 上新开项目,相信本文都能对你有所帮助!

    一、2.x项目升级流程

    1. 升级引擎到 2.4.x

    如果你是 2.4.x 以下的老项目,建议先将项目升级到 2.4.x 最新引擎版本。

    如果有出现警告什么的,可以暂时不管他,引擎会提示你那些方法、属性废弃了,用什么接口去替换。只需要将真正被废弃的接口改掉,保证项目正常运行就好。

    根据我这一两年参与CocosStore资源上架审核测试工作来看 95% 的项目,可以不用任何改动升级到 2.4.x。

    2. 脚本升级

    Creator 3.x 仅支持使用 TypeScript 做为组件脚本。

    因此,如果你之前是用 Javacript 编写的组件脚本,还需要将它们翻译为 TypeScript。这一步是个体力活动,一是翻译脚本,二是将脚本重新挂载节点。

    我的做法是,比如:看到有个脚本为:GameScene.js,先在它旁边生成一个 GameSceneTS.ts 照着 js 代码逻辑,按 ts 语法重写一遍代码。

    582a5898d50a61d1d6efaa173c0380bf.png

    虽然这是个体力活,但是在 VSCode 中写 ts 代码还是很享受的,智能提示非常的方便。

    如果发现代码提示,并没像我说的那么友好!那请注意,你可以通过引擎主菜单→开发者→VSCode 工作流更新或导入creator.d.ts提示文件,如图:

    d103600801dfd4f54df66c6069c7bc55.png

    ts 脚本翻译完后,就要开始在编辑器上进行替换了。

    但是,如何找到之前使用的 js 脚本,在那些地方使用过呢?看下图:

    1a46afdd3bcd620ee084124827a1ffa5.png

    在资源管理器中,鼠标右键选中脚本文件,在菜单中点击找查使用可以找到资源使用过的场景和预制体。

    不过问题又来了,场景那么多节点,组件脚本在那里呢?这个怎么找?

    3390ff6c9f8b12b8774585decbba9f1e.png

    在这里分享一个小技巧,在层级管理器的搜索栏中输入:t:组件名字 就出来了!f40c3b7186b6fe8137a9857ccb8373f5.png

    然后你就可以,将新的 ts 脚本挂到节点上,并照之前 js 组件属性值,配置 ts 组件参数了。

    1a22f45052ada332641d1848f3c0104f.png
  • 相关阅读:
    AJAX——HTTP协议
    什么是低代码(Low-Code)?低代码适用于哪些场景?
    Word控件Spire.Doc 【加密解密】教程(四):在 C# 中为 Word 添加数字签名
    四川竹哲电商:抖店怎么修改经营类目?
    如何保障亚马逊多账户的安全,防止关联?
    【工具】Sublime配置Anaconda的Python环境的简单方法
    【vue2第十章】data数据与组件间通信
    Gitee使用用户名密码登录一直错误/IDEA连接gitee仓库密码错误
    【中秋福利】大数据告诉你:今年中秋礼品这样选
    暑假加餐|有钱人和你想的不一样(第四天)+多目标萤火虫优化算法(Matlab代码)
  • 原文地址:https://blog.csdn.net/6346289/article/details/128195646
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号