关贴,删除

清空,自从15岁也开始写游戏后,论坛的低龄化趋势愈发明显,心智不健全的人比比皆是

1赞

以为是进来看升级经验,结果是来看吐槽TS的 :rofl:

3赞

期待,应该是一个很棒的升级(躺坑[怨念])贴

现在应该有很多2.x大项目在观望是否升级3.x,希望楼主能趟出条大道来

1赞

目前2.4.3, 也是用js
也曾有强烈意愿升级3.x,庆幸当时最新版本非稳定版被搁置了

和你处理类似,想法也类似,

关注下后续走向

我第一个上线项目也用的js,现在新项目用的是TS,说下转换的感受吧,其实代码上具体差别不是太大,TS也可以用接近JS的语法来写,把类型给忽略让他默认赋予类型。变动的话主要是一些写法上有变动,比如以前在代码里出现的CC.*的类现在都放在代码头部用import导入了,编辑器绑定对象加了@property(类型)等等,还有严格语法经常会莫名其妙出来一个红色波浪线,刚开始觉得挺麻烦,JS都没这样的错误提示。后来习惯了也还好,无非就是用"|","!","as"等来屏蔽严格类型检测。其次就是一些函数api的变动,这个查手册就行。对于新项目来说,改用TS没有太大的难度。但是要把老的JS大项目转换成TS,的确得费点功夫。我是觉得对于2D项目,升级到3.X是好处还是坏处还是未知数,没必要急着升,对于成熟的项目,做好代码和资源上的升级优化已经够了。

说得没错,这是修复了性能下降,而不是额外的性能优化。我们会引以为戒,之后别瞎吹逼。

我十分理解,原先想将项目运营十年,结果没想引擎中途已经不维护了。此时内心肯定十分失望,觉得自己的投入都打水漂了。

我也经历过这种事情,刚毕业那会,我眼看着自己大学时用得最六的引擎生命周期停止了,十分渴望我能接手它后续的维护。我为它写过无数的编辑器插件,写过项目的反编译代码,也是它在国内的 KOL,我相信我有能力把它焕发新生,可惜这 tmd 不是开源引擎。

也正是如此我才对开源有执念。

对两年的 LTS 时间来说,我就不跟友商比烂了,我只能说这对 Creator 99% 的项目来说,两年是足够的。

嗯…… 是我,抱歉。3.x 从 API 体系上就开始做不到完全兼容了,即使兼容 JS(其实是兼容的,只是编辑器没开放,手动创建 js 文件即可),也没办法直接升级到 3.x。

脚本语言的变迁,还真的挺常见的。 Unreal 的 UScript、Unity 的 Boo、UnityScript,都随着技术的发展被抛弃了。想象一下你昨天还在用 UScript 做项目,明天 Unreal 告诉你下个版本只能用蓝图和 C++?

是的,我们无数次的强调过。不建议大家升级成熟的项目。

多说无用,也只能深感抱歉了。

1赞

深圳欢迎你

一个类三万多行??

2赞

你们这项目里居然能存在一个三万五千行的脚本 :rofl:编码是不是需要规范一下

1赞

据我观察,2.x的ts工程,升级也是困难重重

能不升,就不要升级了,重写一个也香

官方一直很迷,2.x的 2d性能和编辑器那么拉胯,硬是要升到3.x,还改动那么大,反正现在我们项目如果做稍微大点的游戏,已经改用laya或者白鹭,cocos 2.x的原生性能的确太水了~不过cocos可以做到的表现上限的确是三个引擎中最高的,不过其他引擎可以让美术去做序列帧效果~

一个成熟的产品不太建议盲目升级, 因为你不晓得升了级以后有哪些坑需要重新踩. 线上的玩家毕竟不是小白鼠!可能你优化了序列帧效率,但是却发现,spine动画版本又不兼容了…
如果真的想优化产品的性能,那么我的建议是在此版本的基础上branch出自己的版本,然后跟着官方走,看下他们做了哪些优化,找到自己关心的, 然后把代码抠过去.
现在我也想问候一下官方, 和原配生的娃还没满18岁,你咋就撒手不管了呢?

当初尝试过升级项目到3.x,然而,最后还是放弃了,过程十分的煎熬

想升还是可以的…新建一个3.0项目,然后一小块一小块的把功能挪过去…
我打算今天开始挪

借楼官方大大帮看一下这个问题呀 有人用过class-transformer和class-validator吗
如果3.0也用不了那就不升了…

我差不多也是这样处理的.先把框架共用代码翻译一遍,然后在海外版本上一块一块的重写.这样的目的是为了下个项目积累资源.
但是线上项目就不折腾了,这辈子就这样了,稳定,少bug,才是正经营生.

js被舍弃这是大势所趋,不只是cocos才这样做.github上面热门的项目都这样做.反而是cocos紧跟潮流值得点赞的地方.

大哥,你这标题有点骂众人的意思呀。

你把你的a.js改名成a.ts,在文件顶上加上// @ts-nocheck,把a.js.meta改名成a.ts.meta, 应该就几个小时内升级ts成功了。