2009-08-06 7 views
5

Objective-Cよりも、特にiPhoneのようなリソースが制約された環境では、C++がObjective-Cよりも好まれるとよく​​聞きます。 (私は、iPhoneサービスに最初に話すにはまだObjective-Cが必要だと知っています。)しかし、最近の2DゲームエンジンはObjective-CというCocos2dのようです。C++ iPhoneゲームでObjective-Cゲームエンジンを使用しますか?

アップルが「Objective-C++」と呼ぶものは、C++クラスとObjective-Cクラスを1つのファイルに混在させることができますが、同じクラスや関数内で言語の構造を混在させることはできません。

Cocos2dをC++ゲームに使用することは理にかなっていますか?あなたは "接着剤"コードをたくさん書く必要がありますか?私は、OpenGL-ESの直接的なアプローチが必要とする重労働を避けたいと思います。

答えて

3

私は現在、Cocos2で試作しています。私はChipmunkを使ってC++でゲームロジックを書いていますし、Cocosを使ってビューレイヤーを実装しています。実際には、C++とObjective-Cを同じクラス、関数、コード行で自由に組み合わせることができます。クラスインターフェイスにObjective-CとC++のメソッド定義構文を混在させることはできませんが(実際は試してみることは考えていませんでしたが)、実際には自由に組み合わせることができます。

iPhoneをターゲットにしているだけなら、私はObjective-Cですべてを書くことについてあまり心配する必要はありません。他の人が言及しているように、実際に何かがパフォーマンスのボトルネックになっている場合は、それをプロファイルして最適化することができます。私は自分のゲームコアをC++で書いています。なぜなら、私は他のプラットフォームにデプロイしたいかもしれないので、Objective-Cは負担になります。

+1

ありがとうございました。パフォーマンスの考慮事項を別にして、私は個人的な好みの問題としてC++を使用することを好むでしょう。私はこれを行うことができ、まだCocos2Dを使用するように思えます。 – Buggieboy

7

Objective-C++では、C++コードとObjective-Cコードをきわめて自由に組み合わせることができるため、グルーコードを書く必要はありません。しかし、Objective-Cで記述し、最適化してCやC++で書き直すのではなく、C++で始めるのではなくプロファイリングすることをお勧めします。 Objective-Cは遅い言語ではないので、C++を使用するために余分な努力を払う必要はありません。

関連する問題