最近,我将自己在 Cocos Store 上的一个 2D 项目《球球要回家》从 Creator 2.2.2 升级到 Creator 3.6.2,编程语言也从 JavaScript 全面升级至 TypeScript 并适配微信小游戏,目前在微信审核中!
本篇文章就来跟大家分享一下,我在升级过程中踩到的一些坑,以及 2.x 与 3.x 中引擎最基本的一些接口的变化。
不论你是升级老项目,还是想尝试在 Creator 3.x 上新开项目,相信本文都能对你有所帮助!
如果你是 2.4.x 以下的老项目,建议先将项目升级到 2.4.x 最新引擎版本。
如果有出现警告什么的,可以暂时不管他,引擎会提示你那些方法、属性废弃了,用什么接口去替换。只需要将真正被废弃的接口改掉,保证项目正常运行就好。
根据我这一两年参与CocosStore资源上架审核测试工作来看 95% 的项目,可以不用任何改动升级到 2.4.x。
Creator 3.x 仅支持使用 TypeScript 做为组件脚本。
因此,如果你之前是用 Javacript 编写的组件脚本,还需要将它们翻译为 TypeScript。这一步是个体力活动,一是翻译脚本,二是将脚本重新挂载节点。
我的做法是,比如:看到有个脚本为:GameScene.js
,先在它旁边生成一个 GameSceneTS.ts
照着 js 代码逻辑,按 ts 语法重写一遍代码。
虽然这是个体力活,但是在 VSCode 中写 ts 代码还是很享受的,智能提示非常的方便。
如果发现代码提示,并没像我说的那么友好!那请注意,你可以通过引擎主菜单
→开发者
→VSCode 工作流
更新或导入creator.d.ts
提示文件,如图:
ts 脚本翻译完后,就要开始在编辑器上进行替换了。
但是,如何找到之前使用的 js 脚本,在那些地方使用过呢?看下图:
在资源管理器中,鼠标右键选中脚本文件,在菜单中点击找查使用
可以找到资源使用过的场景
和预制体
。
不过问题又来了,场景那么多节点,组件脚本在那里呢?这个怎么找?
在这里分享一个小技巧,在层级管理器的搜索栏中输入:t:组件名字
就出来了!
然后你就可以,将新的 ts 脚本挂到节点上,并照之前 js 组件属性值,配置 ts 组件参数了。