3

OpenGL 2.0 に基づいて Android ゲームを作成しています。これは単なるメイン アクティビティ クラスであり、すべてが onDrawFrame で実行されるレンダラー クラスと、タッチ イベントを保持する myGLSurfaceView です。今のところうまく機能します。

問題は、スタート画面、さらにスタートメニューの作成をどのように進めればよいかです。最初にタイトル画面を表示し、タッチ後にゲームを実行する必要があります。問題は、それをどのように行うべきかわかりません-私はこのオプションを検討しています:

  1. 開始時に、タイトル画面で onDrawFrame に平らなテクスチャ付きの長方形を描画できます。タッチすると、ゲームの残りの部分が表示され、タイル画面が非表示になります。やることは簡単だけど、やってはいけないことな気がする。

  2. 私は別々のアクティビティについて考えました - それぞれが別々のレンダラーと別々の GLSurfaceViews を実行しています - 1 つが閉じられ、別のアクティビティが開始されます。しかし、私はそれを行うことができませんでした - つまり、MyGLSurfaceView onTouch メソッドから MyActivity クラスへの呼び出しを実行して別のアクティビティを開始することはできません。私はこれを試しました:

    インテント インテント = 新しいインテント(getApplicationContext(), NewGameActivity.class); startActivity(意図); そして、それが正しい方法であるかどうかもわかりません-新しいアクティビティを開始し、新しいGLSurvaceViewとレンダラーを開始し、古いものを閉じますか?

  3. また、2Dキャンバスで開始アクティビティを使用してタイトル画面を描画し、タッチ後に閉じてOpenGLアクティビティを実行することも検討しますか?

または、それを行うべき別の方法がありますか?何か提案があれば教えてください:)

4

1 に答える 1

1

私はオプション 1 を好み ます 。- 活動の再現を避ける単一方向 (縦または横) をサポート

なんで?- ゲームが GLSurfaceView をより早く作成し、スプラッシュ スクリーンが表示されている間にリソースの読み込みを実行できるようにします。スプラッシュ画面に進行状況バーを追加することもできます。- ゲームを他のプラットフォームに簡単に移植できるように、すべてを opengl で行うようにしてください。

于 2013-03-08T20:02:02.157 に答える