web-dev-qa-db-ja.com

Cocos2d for iPhoneとCocos2d-xの比較

Cocos2d for iPhoneをいくつか使ってみましたが、とても楽しいです。私は別のプロジェクトを始めており、C++の移植版であるCocos2d-xを偶然見つけました。私は、複数のプラットフォーム用に(考慮して)一度にビルドできるという概念に誘惑されます。私はObj-CとC++にも同じように慣れており、Cocos2dでの作業に特に関係がない限り、2つの言語の比較を求めていません。

誰かが両方のバージョンのエンジンを使用したことがありますか?また、2つの特定の長所と短所についてコメントできますか? Cocos2d-xは「終了」していますか?信頼性のある?

34
WiseOldDuck

マルチプラットフォームビルドの魅力は、変装した悪夢です。すべてのWebデザイナーは、IE FirefoxでChromeを同時に何でも使用して)を両立させようとする恐ろしい話を教えてくれます。初日にAndroid/iOSなどで起動できました。多くの場合、マルチプラットフォームにしようとすると、すべてのプラットフォームでアプリが強制終了されるようにアプリが制限されます。最善の策は、1つのプラットフォームから始めて、終了することです最終製品はあなたに感謝します。

Obj-CよりもC++が好きでない限り、Cocos2d-xには賛否両論はありません。

35

良い製品が出てくるまでは、単一のプラットフォーム向けの開発に集中する必要があることに同意します。しかし、事実の後でこれを行う多くの開発者は、新しいプラットフォームでゲームを完全に書き直すためにどれだけの労力と追加のコストが必要かを理解しています。ゲームを移植する準備ができたら、手直しの必要性を最小限に抑え、コストを最小限に抑えることができると少し前もって考えますか。 Androidは市場シェアが大きすぎて完全に無視することはできません。私の心では、Cocos2d-xはCocos2dが好きな場合に行く方法です。

18
bigtunacan

cocos2d-iphoneについては知りませんが、cocos2d-xについては知っています。

長所:

  • cocos2d-xはC++を使用しています(まあ、実際には一部のプロではありませんが、これは私にとってプロです)
  • 正しく設定されていれば、さまざまなプラットフォームに簡単にデプロイできます(以下を参照)。
  • LuaとJavaScriptをサポートしているため、コーディングがさらに簡単です

短所:

  • cocos2d-xにはドキュメントがほとんどまたはまったくありません。テストプロジェクトとAPIリファレンスに依存します。神に感謝します Nat Weiss のような人々が簡単に学習をユーザーに利用可能にした人がいます。 ( http://paralaxer.com/cocos2d-x-book/
  • すべてのプラットフォームで機能するようにプロジェクトを設定するのは面倒です。複数のIDEとコマンドライン/ターミナルコマンドに精通している必要があります。
  • 新しいプロジェクトを作成するためにライブラリに付属するスクリプトのほとんどはマルチプラットフォームではありません。つまり、すべてのプラットフォームに対して個別に設定する必要があります
  • Facebook、広告、その他のサードパーティSDKを統合するには、ターゲットとするすべてのプラットフォームに実装する必要があるため、長い時間がかかります
9
alxcyl

私はcocos2d-x for iphoneを使用して開発していますが、問題なく機能しています。あなたが見つけるかもしれない唯一の問題は、APIが常にcocos2d for iphoneバージョンの少し後ろにあるということです。ただし、API自体は信頼性が高く、ほとんどの点でオリジナルと同じです。

最初に単一のプラットフォームで成功しようとしても、他のプラットフォームへの移植を真剣に考えている場合は、cocos2d-xが適しています。これは、後で他の言語でコードの要旨を書き直す必要がないためです(つまり、c ++からobjcへの移植、またはobjcからc ++への移植です。

5
andrewz

私は、これまでのところ、iPhone開発用のCocos2dとCocos2d-Xの両方のみを扱ってきました。私は約1.5年間Cocos2dを使用しており、過去6か月ほどでCocos2d-xに移行しました。最初は、私はCocos2d-xに移行したくありませんでした。私の意見では、それはまだ成熟していたからです。 Coco2d 2.0には多くの変更が加えられており、適切に展開およびテストされていることはわかっていました。 Coco2d-xはまだ流動的だったようです。これは変更され、サポートされている限り、期間中はCocos2d-xを使用することにしました。

どちらのフレームワークも、一般に宣伝どおりに機能しているように見え、私が取り組んでいるものに対して優れたパフォーマンスを提供します(いくつかの例をご覧いただけます here )。

Object-CとC++の両方の世界での作業に満足しています。私の「もの」をAndroidに移植するかどうかはわかりませんが、オプションがあるのは素晴らしいことです。

ただし、[〜#〜] big [〜#〜]の決定要因はreusability。他のプロジェクトで再利用する多くのコンポーネントとウィジェットを構築しています。 iOS専用に開発した場合、Objective-Cが適しています。しかし、私は主にC++で作業しており、テスト済みのツールをツールボックスから持ち出すたびに、すべてのアイデアを1つの言語から別の言語に書き直す必要はありません。

これは、開発に使用することを選択したanyフレームワークに当てはまると思います。選択の余地がある場合は、今日の予算に見合う最高の価値を提供するオプションを選択してください。

3

私は現在cocos2d-xに取り組んでおり、非常に満足しています。私のアドバイスは、1つのプラットフォームでプロジェクトを開始することです(私はIOSを好みます)。そして、1つのプラットフォームで正常に起動したら、別のプラットフォームで起動します。

ゲームが成功した場合、最後に別のプラットフォームでも起動する必要があります。したがって、事前に計画することが最善です。

2
user739711

Cocos2D-iphoneを使い続けます。より多くのリソースを備えた、より大きなコミュニティからの製品に焦点を当てます。移植する準備ができたら、apportableを使用して、Androidが完了したら、アプリをコンパイルします。

0
Zac Bowling