2

申し訳ありませんが、私はlibgdxに少し慣れていないので(これまでのところ本当に気に入っています!)、少し初心者の質問かもしれません

RPG ゲームのダイアログ ボックス クラスを実装しています。基本的には、Final Fantasy のゲームで人が話しているときに見られるように、文字ごとに表示するようにしています。BitmapFontCache クラスを使用して、ワード ラッピングで非常にうまく機能するようになりました。私の次のステップは、「ページング」を実装することです。(つまり、文字列をダイアログ クラスに渡して表示すると、文字列のどの部分がダイアログの各ページに収まるかが決まります)。自分のワードラッピングを計算することに頼らずに、これに少し問題があります。

ダイアログ ボックスの制約 (四角形など) を渡して、その制約に収まる文字列の部分を取得できる関数はありますか? (ワードラップ + 終了行などを考慮して)。文字ごとにループして getWrappedBounds を使用できます (そして、制約の高さを超えると停止します) が、文字列部分を取得するときにワード ラップを考慮する必要があるように感じます。

何か案は?

4

1 に答える 1

1

2つの答えがあります -

まず、この関数はあなたが探していることを行うと思います: addWrappedText(java.lang.CharSequence str, float x, float y, float wrapWidth) ( javadoc ).

次に、独自の GUI コンポーネントを構築するのではなく、組み込みの GUI コンポーネントを使用することを検討したい場合があります。libgdxに付属し、柔軟な GUI をすばやくまとめることができるライブラリであるscene2d uiを確認することをお勧めします。設定には少し手間がかかりますが、この方法でスキンやナインパッチなどを無料で入手できるため、後で多くのオプションが得られるので、ぜひ検討することを強くお勧めします.

于 2014-02-12T07:49:23.357 に答える