2009-04-17 9 views
5

私は、iPhone用のゲームを書くときの最善の方法について混乱しています。ゲームはOpenGLでレンダリングされますが、スタートスクリーン、メニュー、ハイスコアページなどを作成するときには興味があります。OpenGLを使用するか、UIViewを追加してUIKitを使用しますか?IPhone OpenGL ESの1つまたは複数のビュー?

答えて

2

私は最良のアプローチはないと思います。 OpenGLでメニューやハイスコアテーブルをコーディングする時間があれば、柔軟性が増します。例えば、バックグラウンドで3dアニメーションを実行することができます。

標準的なUIKitビューを使用してメニュー、ハイスコアテーブルなどをコーディングし、表示されているときにOpenGLビューを切り替えると、これは非常に素早くコード化できるという利点があります。 Interface Builderを使用する)が、本質的に2dです。カスタムボタングラフィックとフォントをビジネスアプリケーションのように見せかけることはできますが、アプリストア内の他のゲームと比較して、洗練されていないように見えます。

あなたがしたくないことは、透明なUIViewをレイヤー上に重ねて表示することです。OpenGLビュー - これは非常に遅くなります。

私は個人的にInterface Builderでビューを生成し、プログラムの残りの部分をビルドしている間にメニューのようなものを取得しました。その意図は、後でOpenGLアニメーションコードでそれを置き換えることです。しかし、結局のところ、あなたがどれくらいの時間を利用できるかは本当に下です。

+0

ありがとう、私はちょうどこれを行うには、ESのルートに行くと思う。 – chicken

+0

しかし、あなたはテキストについて何をしていますか...私はOpenGLで自分のボタンとインターフェースを作ることができますが、テキストをどう扱うのですか?...私のゲームのすべてが英語であれば私のグラフィックアセット、しかし、私はそれをローカライズする必要がある場合、複雑なのように見える –

+0

通常ゲームでは、2つの状況があります:少量のテキストと大量。もしそれが少量であれば、おそらくテキストをビットマップに書き出し、ローカライズの場合はビットマップの複数のコピーを持つだけです。大量のテキストがある場合は、それをビットマップに格納するのは実用的ではなく、実行時にテキストをレンダリングする必要があります。オフスクリーンのビットマップにグラフィックスコンテキストを作成し、Quartz APIを使用してテキスト(テキストを含む)をレンダリングし、そのビットマップをOpenGLテクスチャとして使用することができます。 – U62

1

私はこれに正しい答えはないと思います。私は個人的にOpenGLをすべて使用しています。例えば、メニュー構造ではテキストのテクスチャを使用します。私はそれがあなたが表示したいものに依存していると思う、私はあなたがOpenGLに固執すればあなたのゲームにうまくいくカスタムルックアンドフィールを作る方が簡単だろうと思う。

+0

はい、私はこのアプローチをとると思いますが、リンゴには基本的なものを扱えるようにするのがより良い方法であるかどうかはわかりません。 – chicken

1

私はこれについて矛盾したことを聞いたことがあります。 UIKitをOESでレンダリングすると、速度が遅いと聞いています。

私は、大丈夫を実行する別のアプリが表示されたら、それに従ってくださいと言う。

もっと一般的なゲームの一部は、OESのすべてを実行します。ローランド。おそらく、そのパターンに従うのが最善です。

+0

私は、彼がOpenGLESビュー上でUIKitを重ねることを求めているとは思っていません。それをゲームの他の「モード」に使用するかどうかだけです。 – U62

+0

はい、u62と言ったように、基本的に私はその例ではビューコントローラを束ね、表示する適切なビューに基づいてビューをプッシュ/ポップします。 – chicken

0

他にも述べたことに加えて、あなたのコードベースの大部分になるので、OpenGLに固執するのはちょっと簡単だと考えてください。

関連する問題