Cocos2d-x和Cocos2d-js之间的区别

21

我只是想开发移动应用程序...我的一位朋友告诉我要从cocos2d开始,而我擅长javascript。在通过谷歌搜索cocos2d时,在cocos2d-x.org网站上我找到了:

  1. cocos2d-x
  2. cocos2d-JSB
  3. cocos2d-html5
  4. cocos2d-Javascript

我知道cocos2d-x和cocos2d-html5的用途,但cocos2d-JSB和cocos2d-Javascript又是什么呢?

我的问题是...

  1. 我们能否在cocos2d-JSB或cocos2d-javascript中开发100%纯原生应用程序/游戏。
  2. 我也知道cocos2d-JSB是Javascript绑定,但这具体意味着什么?
  3. 最后一个问题:cocos2d-Javascript是什么?它能单独使用还是需要cocos2d-html5才能在iOS/Android/Windows Phone上进行预览?

我的目标是为iOS/Android和Windows开发本地应用程序。


1
http://cocos2d-x.org 概述了所有这些内容。还有一个Wiki和社区论坛。 - GameDeveloper
5
我确实访问了cocos2d-x.org,但是我感到很困惑。那里的一切看起来都一样。如果是这样的话,为什么会有那么多类型,比如JS、X、JSB、HTML5等呢? - MFarooqi
3个回答

20

Cocos2d-JS是Cocos2d-x引擎的JavaScript版本,由Cocos2d-x团队维护。它支持完整的Cocos2d-x功能,并提供一组简化的javascript友好API。它包含两部分:Cocos2d-html5和Cocos2d-x JavaScript Bindings(JSB),其中Cocos2d-html5是用于Web的纯JavaScript引擎,而Cocos2d JSB则用于原生应用程序,与Cocos2d-html5共享相同的API。

因此,Cocos2d-JS为您想要分发到的任何平台提供一致的开发体验,无论是Web还是原生应用程序。您可以使用它来开发Web、Android、iOS、Mac、Windows应用程序。Windows Phone 8即将推出。您可以使用Cocos2d-html5在浏览器上开发游戏,然后使用Cocos2d JSB将其编译为原生应用程序。

Cocos2d-JavaScript与Cocos2d-html5和Cocos2d JSB完全不同。它是从cocos2d-iPhone分支出来并由Ryan Williams维护。


4
如果我只是开始使用Cocos2D-JS,它能够像Cocos2d-X一样产生100%的性能并拥有完整的本地功能吗?实际上,我很困惑Cocos2d-JS是否像jQuery一样工作,但是您的话让我明白了,Cocos2d-HTML5就像jQuery或其他HTML5生成器一样。而Cocos2d-JS可以像Cocos2d-X一样产生相同的结果,并且可以制作原生应用程序;而Cocos2d-HTML5可以使用Cocos2d-JSB编译为原生应用程序。我的理解正确吗? - MFarooqi
3
在Cocos2d-JS v3中,合并了Cocos2d-html5和Cocos2d-x的Javascript引擎,因此您现在可以编译到Web和所有其他典型平台。 - magicode118
1
MFarooqi,是的,cocos2d-js在本地平台上提供与cocos2d-x相同的性能。它使用jsbinding将js转换为c++,并在iOS/Android等平台上本地运行应用程序。性能非常好。 - Emmy
那么cocos2d-JS和cocos2d-JavaScript完全不同?那太疯狂了。 - Radu Simionescu
1
有一件重要的事情需要补充:对于Android平台,cocos2d-js的“空”apk文件大小比cocos2d-x大得多(例如11Mb vs 3Mb)。 - Denys Kniazhev-Support Ukraine

2
Cocos2d-X是一款完整的游戏引擎,可用于构建Android、iOS和Windows移动设备的本地应用程序以及Web平台。Cocos2d JSB用于创建本机应用程序和Web应用程序,而Cocos2d js用于创建纯Web游戏。如果您不想制作任何本机应用程序,也可以使用Cocos2d Lite版本。 Cocos2d Lite版本是一个单独的JavaScript文件,具有Cocos2d-X的完整基本功能。您可以使用此版本来减小项目大小。

2

cocos2d-x支持3种语言:

  • cocos2d-x + c++,
  • cocos2d-x + js,
  • cocos2d-x + lua。

使用c++和lua,您可以开发Android/iOS/Windows应用程序,但无法开发基于Web的游戏。这将需要使用Javascript完成。cocos2d-x + js将支持Android/iOS以及基于Web的应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接