3

ここで、次のことがわかります。

.... Cocos2d-x のチームは、「Cocos2d の Javascript バインディング」と呼ばれるものに取り組んでいます。つまり、Cocos2d-html5 エンジンで実行されているまったく同じコードが、Cocos2d-X と Cocos2d-iPhone で、変更を加えることなく、またはほとんど変更せずに問題なく動作するということです。そして、それはすべて「携帯電話でほぼネイティブの高速」に変換されます。

私が理解できないのは、ある言語で書かれたコードを別の言語に翻訳する方法です。Cocos2d-html5 ゲームの JavaScript コードを入力として取得し、それを C++ Cocos2dx コードまたはその逆に変換するツールがあるということですか?

EIDT: Cocos2Dx で書かれた C++ ゲームを Cocos2D-html5 に簡単に移植できますか? そのために私は何をしなければなりませんか?

4

2 に答える 2

3

Cocos2d-x と Cocos2d-html5 は同じ Javascript API を共有し、開発者が Javascript でコードを書く利点を提供するように書かれており、これらのフレームワークの両方で動作します。

2 番目の質問については、Cocos2d-html5 は Javascript をネイティブに実行しますが、Cocos2d-x は SpiderMonkey (Brendan Eich によって C/C++ で記述された Javascript エンジン) を使用して Javascript コードを実行します。

ただし、考慮すべき重要な点が 1 つあります。ネイティブ言語と API を使用してゲームを開発すると、時間が短縮され、デバッグが容易になり、拡張と保守が容易になります。したがって、私の意見では、ゲームが iOS のみの場合は cocos2d-iphone を使用し、ゲームがマルチプラットフォームの場合は cocos2d-x を使用し、ゲームの主なターゲットが Web の場合のみ cocos2d-html5 を使用する必要があります。

于 2013-10-13T18:39:00.293 に答える
3

これは、cocos2d-x と cocos2d-html の両方が同じ Javascript API を使用していることを意味します。したがって、理想的な状況では、同じ JS コードが html5 で実行され、もう一度 -x エンジンで実行されます。

ただし、エンジンごとに実装が微妙に (またはそれほど微妙ではなく) 異なる可能性があるため、まだ違いがある可能性があります。また、すべてのエンジンですべての機能 (タッチ入力、加速度計、シェーダーなど) を利用できるわけではありません。したがって、「ほとんど変更されていない」という言い回しがあります。

ただし、主なターゲットが Web でない場合、JS API を使用する意味はほとんどありません。これは、コードの問題をデバッグするのをより困難にする余分なレイヤーを追加するためです。また、-x を直接 (C++ で) 記述する場合と比較して、全体的なパフォーマンスが低下します。

于 2013-10-13T10:22:54.807 に答える