Creator不合适以下情况

C++和Lua的死忠粉,希望学一门语言吃一辈子的程序员 —— 不适合。为了Cocos Creator的纯粹,我选择了JavaScript作为引擎、编辑器、游戏逻辑的核心语言。虽然从技术角度讲Creator也可以支持Lua和C++游戏,但是今天我仍然希望保持这个产品的「纯粹、专一」。所以不论你们怎么喷,在编程语言方面,我今天不打算妥协。别TMD和我吵,难道您不知道“PHP是全世界最好的语言”么?嘿嘿。至于为什么在Cocos Creator里面选择JavaScript,下文我会详细解释原因,请耐心往下看;

对包体积「极端」敏感人群。以Android版的引擎runtime.so文件为例,v3.x版本的引擎上,Lua空包体积3.6M,JavaScript空包体积5.2M,所以JavaScript会比Lua大出1.6M,主要是因为JavaScript VM的体积要大一些。我们正在做各种包体压缩的工作,未来空包体积会进一步降低,但Lua始终会有1M左右的优势;

希望用Cocos 3D的编辑器功能。目前Creator的研发进度还无法支撑3D编辑需求,支持3D和VR的时间点待定,不会很快,有这方面需求请选择Studio。

只好忍痛抛弃lua了…
其实我更希望的是和unity3d那样,可以同时用几种语言写脚本,最后编辑器自动搞定他们的build

用个弱类型的语言干活,真的不太好。

用 JS 就能想办法用上 TypeScript ,多人协作的时候还是挺好的。重构起来心里放心多了,很多老接口也敢大胆的改了。即使项目时间紧也不怕因为没有测试用例而不敢随便改接口了。

现在大家都要热更新,至少在国内。U3D 也有他自己麻烦的地方,背后的 UnityScript 肯定是不能用来做热更的(iOS 无法 jit)。所以说在 U3D 下做热更一样也是用的普通脚本语言,主流还是 Lua ,虽然有个项目能转换 C# 至 JS ,但那也只是翻译而已,限制很多,并不是那么方便的多语言哦。

确实unity3d热更新也基本是用lua,有人拿js做热更新么?
我的意思是,unity3d可以对这个对象用js脚本,那个对象用c#的脚本。

Unity 可以那样做的原因是 CIL 是一门标准,可以很方便的做定制(UnityScript),你要是想让 Unity 用原生 JS 一样不行。

事实上 Unity 要用 JS 和用 Lua 的原理一样。大家都在讨论 Unity 原生的非 JIT 模式(把所有脚本代码预编译成IL或者是iOS上的IL2CPP)。但事实上在国内逃不开要做热更新,所以你还是得在 Unity 里面嵌入一个原生的脚本解释器来解释执行代码(非JIT),而在这一层而言,JS、LUA 只是使用者的选择而已,因为 Unity 本身并没有集成这一套。

我在公开信里面态度是比较强硬的。知乎上有人评价说「断臂求生」,其实是有点儿这种味道。

Cocos2d-x长期投入在C++, Lua, JavaScript三种语言的研发维护上,导致研发x3,测试x3,文档x3,技术支持x3。同样的资源投入,每种语言的用户却只能获得1/3的功能数量和bug fix,合算么?所以Creator轻装上阵,专注在一门编程语言上,触控投入同等资源的情况下,大家可以获得更好的功能、更好的体验,其实这样才是对开源社区、对触控、对用户三方都有益的结果。

3赞

如果能确认以后就是creator了,那这么学也没关系。毕竟挺多人以前被坑怕了

要放弃了 x lua 了?

其实没有你说的3分之一啦,应该是2份之一啊。无论lua还是js的jsb他们都是要依靠c++版本的,这其实是两条线而已,都是要先维护c++版的,不是吗?

:12: 因为支持c++ 才学的cocos2d

现在 被 抛弃 了 用 不喜欢 的语言js 做开发。。。好难受的。。。

是什么语言无所谓,当初选择cocos2d的原因是因为跨平台,懂一点C++。而现在,如果Creator方便好用是什么lua,js没关系,密切关注后续更新。

因为PHP最全世界最好的语言,所以选择JS是最正确的选择

抛弃lua让我心酸!!我觉得还是抛弃cocos2dx转投unity吧

我也是这么想的…反正creator和unity这么像,说不定学完unity回来更容易上手(笑)

cocos换来换去不断变化,每次都说,要大家相信他~

主要是新手碰到这种坑也很难静下心学算法了,我好方啊

变来变其实是cocos 团队不成熟的表现。新人永远被坑:2:

:2:学会了Unity3d 你会发现 creator是换了一套Api的unity2D