私は、iPhone用のゲームを書くときの最善の方法について混乱しています。ゲームはOpenGLでレンダリングされますが、スタートスクリーン、メニュー、ハイスコアページなどを作成するときには興味があります。OpenGLを使用するか、UIViewを追加してUIKitを使用しますか?IPhone OpenGL ESの1つまたは複数のビュー?
答えて
私は最良のアプローチはないと思います。 OpenGLでメニューやハイスコアテーブルをコーディングする時間があれば、柔軟性が増します。例えば、バックグラウンドで3dアニメーションを実行することができます。
標準的なUIKitビューを使用してメニュー、ハイスコアテーブルなどをコーディングし、表示されているときにOpenGLビューを切り替えると、これは非常に素早くコード化できるという利点があります。 Interface Builderを使用する)が、本質的に2dです。カスタムボタングラフィックとフォントをビジネスアプリケーションのように見せかけることはできますが、アプリストア内の他のゲームと比較して、洗練されていないように見えます。
あなたがしたくないことは、透明なUIViewをレイヤー上に重ねて表示することです。OpenGLビュー - これは非常に遅くなります。
私は個人的にInterface Builderでビューを生成し、プログラムの残りの部分をビルドしている間にメニューのようなものを取得しました。その意図は、後でOpenGLアニメーションコードでそれを置き換えることです。しかし、結局のところ、あなたがどれくらいの時間を利用できるかは本当に下です。
私はこれに正しい答えはないと思います。私は個人的にOpenGLをすべて使用しています。例えば、メニュー構造ではテキストのテクスチャを使用します。私はそれがあなたが表示したいものに依存していると思う、私はあなたがOpenGLに固執すればあなたのゲームにうまくいくカスタムルックアンドフィールを作る方が簡単だろうと思う。
はい、私はこのアプローチをとると思いますが、リンゴには基本的なものを扱えるようにするのがより良い方法であるかどうかはわかりません。 – chicken
私はこれについて矛盾したことを聞いたことがあります。 UIKitをOESでレンダリングすると、速度が遅いと聞いています。
私は、大丈夫を実行する別のアプリが表示されたら、それに従ってくださいと言う。
もっと一般的なゲームの一部は、OESのすべてを実行します。ローランド。おそらく、そのパターンに従うのが最善です。
他にも述べたことに加えて、あなたのコードベースの大部分になるので、OpenGLに固執するのはちょっと簡単だと考えてください。
- 1. glGetUniformLocationリターン-1のOpenGL ES(iPhone)
- 2. iPhone OpenGL ESペイントアプリブラシエフェクト
- 3. iPhoneボードゲーム:OpenGL ESまたはCoreGraphics?
- 4. OpenGL ES複数カラーバッファ
- 5. Iphoneに複数のOpenGL ESビュー用の効率的で標準化されたコードはありますか?
- 6. iPhone/iPad、OpenGL ES、CADisplayLink
- 7. glScissor help(iPhone OpenGL ES)
- 8. iPhoneのOpenGL ES 1.1のOpenGLカラーインデックス?
- 9. iphone opengl es glDrawElementsの問題
- 10. OpenGLまたはOpenGL ES
- 11. iPhone OpenGL ESの間違ったアルファブレンディング
- 12. opengl es 1.1:1つのオブジェクトに複数のマテリアルを適用する方法は?
- 13. iPhone iOS 5.0 OpenGl ES 2.0
- 14. iPhone OpenGL ESテクスチャ2Dマスキング
- 15. テクスチャアトラスの実装、triangle_stripまたはtriangles。 iPhone opengl es
- 16. iPhone(OpenGL ES)上のglPolygonModeの代替?
- 17. Core AnimationまたはOpenGL ES?
- 18. OpenGL ES 1.x vs 2.x:まだ学習に値するOpenGL ES 1.x?
- 19. iPhone OpenGL ES 2dの背景テクスチャ
- 20. iphone複数のビュー
- 21. OpenGLコードをiPhoneのOpenGL ESに移植する際の問題
- 22. OpenGL ES 2.0を搭載したFBO 1台でiPhoneの後処理を行う?
- 23. OpenGL-ESへのOpenGL - glBegin();
- 24. iPhone OpenGL es:ポイントについての行列を回転する
- 25. OpenGL ES 2.0、複数の頂点バッファを使用した描画
- 26. iPhone/iPadの1つの画面に複数のビューがありますか?
- 27. 多数のビューまたは1つ?
- 28. 1つのアプリケーションでOpenGL ESビューとUIViewを切り替えることは可能ですか?
- 29. iPhone用OpenGL ESでDepthBufferをリクエストする
- 30. OpenGL ESを使用したiPhoneでのアンチエイリアスの問題
ありがとう、私はちょうどこれを行うには、ESのルートに行くと思う。 – chicken
しかし、あなたはテキストについて何をしていますか...私はOpenGLで自分のボタンとインターフェースを作ることができますが、テキストをどう扱うのですか?...私のゲームのすべてが英語であれば私のグラフィックアセット、しかし、私はそれをローカライズする必要がある場合、複雑なのように見える –
通常ゲームでは、2つの状況があります:少量のテキストと大量。もしそれが少量であれば、おそらくテキストをビットマップに書き出し、ローカライズの場合はビットマップの複数のコピーを持つだけです。大量のテキストがある場合は、それをビットマップに格納するのは実用的ではなく、実行時にテキストをレンダリングする必要があります。オフスクリーンのビットマップにグラフィックスコンテキストを作成し、Quartz APIを使用してテキスト(テキストを含む)をレンダリングし、そのビットマップをOpenGLテクスチャとして使用することができます。 – U62