[解決済み] OpenGL ESでテキストを描画する
2022-06-22 03:50:14
質問
現在、Android プラットフォーム用の小さな OpenGL ゲームを開発していますが、レンダリング フレームの上にテキストをレンダリングする簡単な方法はないでしょうか (プレイヤーのスコアなどを表示する HUD のようなものです)。テキストは、カスタム フォントも使用する必要があります。
オーバーレイとしてビューを使用する例を見たことがありますが、後でゲームを他のプラットフォームに移植したいかもしれないので、それをやりたいかどうかはわかりません。
何かアイデアはありますか?
どのように解決するのですか?
Android SDK には、OpenGL ビューにテキストを描画する簡単な方法は付属していません。次のような選択肢が残されています。
- TextViewをSurfaceViewの上に配置します。 これは遅くて悪いですが、最も直接的な方法です。
- 共通の文字列をテクスチャにレンダリングし、それらのテクスチャを単純に描画します。 これは圧倒的にシンプルで高速ですが、最も柔軟性に欠けます。
- スプライトをベースにしたロールユアオウンテキストレンダリングコードです。 2がオプションでない場合、おそらく2番目に良い選択です。シンプルに見えますが (そして基本的な機能はそうです)、機能を追加するにつれて難しくなり、より困難になることに注意してください (テクスチャアライメント、改行の処理、可変幅フォントなど)- このルートを取るなら、できる限りシンプルにしてください!
- 既製/オープンソースのライブラリを使用する。 Googleで探せばいくつかありますが、やっかいなのはそれらを統合して動かすことです。しかし、少なくとも、一度そうすれば、それらが提供するすべての柔軟性と成熟度を手に入れることができます。
関連
-
Androidのadbデバイスがオフラインであることが判明
-
armeabi-v7a armeabi arm64-v8a パラメータの意味説明
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
ActivityはOnFragmentInteractionListenerを実装しなければならないに関する質問
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
telnet'が内部コマンドまたは外部コマンドとして認識されない 解決方法
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Windowsのadbシェルでデータディレクトリにアクセスするとパーミッションが拒否される
-
アンドロイドのエリプサイズを使用する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AAPT2エラーについて:詳しくはログをご確認ください。
-
AndroidエミュレーターのADBサーバーがACKしない問題
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
android:EMSのプロパティ
-
Android開発で「Attempt to invoke virtual method 'XXX()' on null object reference」というヌルポインター例外に遭遇する。
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
プロセス 'command 'F:\sdkbuild-tools', 26.0.2 AAAPT.exe' finished with non-zero exit value 1
-
android exception - aapt.exe has stopped working.
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
アプリの実行エラー。ターゲットデバイスが見つからない問題