Android用の基本的な3Dゲームを作成し、HUDを追加します。私はこれをどのようにするべきですか? 3Dゲームの上にとどまるレイアウトを追加することは可能ですか、それともOpenGLでこれを行う必要がありますか?Android:OpenGL-ESゲーム(HUD)の画像
答えて
代表的な解決策は、3Dシーンを描画し、次に正射投影に切り替えて、OpenGLを使用してHUDをまだペイントすることです。 OpenGLキャンバスの上に普通のコンポーネントを配置すると、おそらく予測できない結果になります(ちらつきや目立たないことがあります)。
OpenGLレイアウトに1つまたは複数のレイアウトを追加することは可能です。これを行うには、RelativeLayoutから始める必要があります。 OpenGLとHudの両方のレイアウトが含まれています。宣言の順序は重要です(最初に宣言され、最初にレンダリングされます)。 Hudレイアウトの位置を変更するには、layout_margin属性を使用するか、フルオーバーレイの場合はmatch_parentを使用します。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- START of OpenGL Layout -->
<LinearLayout
android:id="@+id/openGLLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="0dp"
android:layout_marginTop="0dp" >
</LinearLayout>
<!-- END of OpenGL Layout -->
<!-- START of HUD Layout -->
<LinearLayout
android:id="@+id/hudLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="50dp">
<TextView
android:id="@+id/hudText"
android:text="Hud Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TextView>
</LinearLayout>
<!-- END of HUD Layout -->
</RelativeLayout>
この例では、OpenGLレイアウトはコンテナとして使用されるempy LinearLayoutです。私は、コードによって、このRelativeLayoutに私自身のGLSurfaceViewを追加します。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main);
MyOpenGLSurfaceView view = new MyOpenGLSurfaceView(getApplication());
LinearLayout openGLLayout = (LinearLayout)findViewById(R.id.openGLLayout);
openGLLayout.addView(mView);
}
私は確認のポップアップやコンテキストメニューを中心に、このメソッドを使用します。この方法で私はopenGLを使って自分のボタンを作成する必要はありません。
私は同じ問題を抱えていました。私は今、ほぼ1年間それを戦っていました。私は、XMLレイアウトを使用していないが、代わりにそのようなJavaでのビューを追加してい:addViewはそうのように呼び出すに私が得た
rel.addView(camPreview, camParams);
rel.addView(glView, glParams);
rel.addView(imageView, imageParams);
1の提案は、zインデックスのparamを追加しました:
rel.addView(camPreview, 0, camParams);
rel.addView(glView, 1, glParams);
rel.addView(imageView, 2, imageParams);
それは、私も、私は解決策だった最後に
を望んでXMLレイアウトに切り替えてみましたが、まだない
を仕事のどちらか。..しませんでした:
glView.setZOrderMediaOverlay(true);
rel.addView(camPreview, camParams);
rel.addView(glView, glParams);
rel.addView(imageView, imageParams);
注:setZOrderMediaOverlay(真)は、あなたが実際に
はそれを試してみて、それがあなたのために働くなら、私に知らせてビューを追加する前に呼び出す必要があります。
- 1. iPhone HUD画面
- 2. Kinectゲームの画像変換
- 3. ゲームの画像を回す
- 4. ゲームメーカーのゲーム画像のスケーリングの問題
- 5. 2D HUD層
- 6. html5 d3dアプリケーションメニュー/ hud
- 7. Maya HUDトラブル
- 8. Minecraft Docker画像:ゲームの保存の持続性
- 9. 真偽のゲームで画像を表示する
- 10. ゲームの無料画像はどこにありますか?
- 11. 90年代に開発されたゲーム用の8ビットインデックス画像
- 12. 私の携帯ゲームに画像を追加
- 13. アンドロイド用OpenGL ESでの2Dゲーム用レンダリング画像
- 14. ユニファイドマッチ3スタイルのゲームがキャンバス画像とマッチングする処理
- 15. 隠されたゲーム「アタリブレイクアウト」のチートGoogle画像検索
- 16. Google Playゲームのプロフィール画像をアップロードする方法
- 17. 目的C、HUDパネル?
- 18. Android appwide view overlay(HUD)
- 19. 3DアプリケーションでのOpenGL 2D hud
- 20. 解像度の問題ゲーム
- 21. スプライトデータと画像データをゲームに挿入する
- 22. SKSpriteNodeは画像を最下部に持っていく - IOSゲーム
- 23. 画像ファイルは2D Javaゲームではロードされません
- 24. UIView - 描画イメージ - タイルベースのゲーム
- 25. Androidのゲーム起動画面
- 26. ゲーム録画アルゴリズムのUnity3D
- 27. Cocos2Dゲームの設定画面
- 28. Java 2Dゲームの描画パフォーマンス
- 29. ライブラリに画像を保存するときにHUD Spinnerが表示されない
- 30. 回避方法ユニティゲームはゲームHUDのテキストをレンダリングするのに問題があります