1

簡単な2Dゲーム/クローン(Mac用)を作りたいのですが、いくつか質問があります。

  • Quartz 2dまたはOpenGLを使用する必要があります(すぐに3dを試す予定はありません)
  • CGFloat / GLfloatのようなtypedefされたものがたくさんあるようですが、どちらを使用すればよいですか?
  • ゲームにもObjective-C(クラス)を使用する必要がありますか、それともCだけを使用する必要がありますか?(ウィンドウとビューにはObjective-CとCocoaを使用すると思います。)
  • ビュー全体を毎回再描画しても問題ありませんか?NSViewの-drawRectdirtyRectパラメーターがどのように機能するかを本当に理解していませんが、何を更新したいかをどのように知るのですか?
  • このための良いチュートリアルはありますか?

ありがとう。

4

2 に答える 2

3

QuartzまたはCoreAnimationとOpenGLは、実際に何をしようとしているかによって異なります。単純な描画とアニメーションが必要な場合は、QuartzまたはCAを使用してください。高速で強力なゲームが必要な場合は、OpenGLを使用してください。最終的には、両方を学ぶことをお勧めします。

typedefを使用する場合は、使用している特定のシステム用のいずれかを使用してください。Quartz / CA / CGの場合は、CGFloatを使用します。OpenGLの場合は、GLfloatを使用します。

Objective-CとCは、必要な速度にも依存します。Objective-Cは少しオーバーヘッドを追加しますが、(明らかに)はるかにオブジェクト指向のゲームを作成できるようになります。QuartzとCoreAnimationを使用する場合はObjective-Cを使用し、OpenGLを使用する場合はObj-CまたはCを使用することをお勧めします。ただし、これをMac(iPhoneなどではない)で実行している場合は、複雑な高速描画を実行していない限り、おそらく大きな違いは見られません。

drawRectについて完全にはわかりませんが、この質問には、その質問に答える可能性のある情報が含まれています。

Quartzの紹介として、このチュートリアルをお勧めします。OpenGLに推奨されるNeHeチュートリアルを常に聞いています。

于 2009-11-18T04:04:05.527 に答える
1

CairoまたはOpenGLのいずれかでSDLを使用すると、実質的に同じプログラミングモデルが得られますが、クロスプラットフォームの互換性は事実上無料で得られます。必要に応じて、ゲームの大部分でObjectiveCを引き続き使用できるようにする必要があります。

どのくらいグラフィックを集中的に取得したいですか?カイロはおそらく2Dを使い始めるのが簡単でしょう。

于 2009-11-18T04:11:41.547 に答える