Cocos2Dx和Cocos2d-html5的代码相同吗?

时间:2013-10-13 08:50:28

标签: cocos2d-x cocos2d-html5

Here我看到以下内容:

  

.... Cocos2d-x的团队正致力于为Cocos2d"开发一个叫做#34; Javascript绑定的东西。这意味着你在Cocos2d-html5引擎上运行的相同代码可以在Cocos2d-X和Cocos2d-iPhone上完美运行,无需或只需稍加修改即可。所有这些都转化为"几乎在手机上快速原生"。

我不能理解的是,用一种语言编写的代码如何被翻译成另一种语言?它们是否意味着有一个工具可以作为Cocos2d-html5游戏的输入JavaScript代码并将其转换为C ++ Cocos2dx代码或向后转换?

EIDT:我可以轻松地将用Cocos2Dx编写的C ++游戏移植到Cocos2D-html5中吗?我必须为此做些什么?

2 个答案:

答案 0 :(得分:3)

这意味着cocos2d-x和cocos2d-html都使用相同的Javascript API。因此,在理想情况下,相同的JS代码在html5上运行,另一次在-x引擎上运行。

然而,仍然存在差异,因为在幕后,每个引擎的实现可能会微妙地(或不那么微妙地)不同。此外,并非所有功能(即触摸输入,加速度计,着色器)都可用于每个引擎。因此,措辞“几乎没有修改”。

但是如果你的主要目标不是web,那么使用JS API几乎没有意义,因为它增加了一个额外的层,使调试代码问题变得更加困难,并且与直接编写(在C ++中)相比,整体性能受到影响-x

答案 1 :(得分:3)

Cocos2d-x和Cocos2d-html5共享相同的Javascript API,并且是为了让开发人员能够在Javascript中编写代码而编写的,并且它将适用于这两个框架。

至于你的第二个问题,Cocos2d-html5本地运行Javascript,而Cocos2d-x使用SpiderMonkey(由Brendan Eich用C / C ++编写的Javascript引擎)来运行你的Javascript代码。

虽然,有一件重要的事情需要考虑。使用本机语言和API开发游戏所需的时间更少,易于调试,并且易于扩展和维护。因此,在我看来,如果游戏仅适用于iOS,则应使用cocos2d-iphone;如果游戏适用于多平台,则应使用cocos2d-x;如果游戏的主要目标是web,则应使用cocos2d-html5。