Unityで2Dゲームを作成してます。
テキストボックス内で上の行から更新されて下に流れるような(アイテムをひろった!とか、敵をたおした!を4~5行くらいで表示する)ものを作りたいと考えています。
C#
1 2Text text ; 3 4public void Massage(string log) 5{ 6 this.text.text = log + "\n" + text.text ; 7}
logは他の複数のScriptから渡していて、
Sceneにn行のみ表示させるのはテキストボックスの大きさで行なったんですが、このままではInspector上は更新した分、何行でもtextを保持すると思います。
Inspectorのtextの行数を制限、または指定の行を削除するには、どのような処理を付け加えればいいのでしょうか。
また別のアプローチとして、改行後の現在のtextを付け加える部分をnowTextとかにして別で取得する場合、取得する行の範囲指定とかできるんでしょうか。
行数の取得方法とか改行数の取得方法はあったんですが、範囲指定の方法がわからずでした。
ずっと残しておきたいので、表示されてるtextごと一定時間で消える処理は、できればしたくないです。
よろしくお願いします。
-追記-
Inspectorのtextを消したいというのは画像のこの部分です。
すいません、スクショ方法がわからなくて携帯で撮った画像です。
ゲーム画面は
こんな感じになってます。
ボタンを押すとMassageにlogが入ります。
Sceneではオーバーフローさせないで表示させてます。
オーバーフローしてる部分のtextを消す方法を模索中です。
と言うべきでした。
大量にtextを増やしても(ボタン連打とか)、実際にはSceneに表示されてる部分しか保持してないよって場合なら全然問題ないんですが…。
一行目を大きく表示とかもしてみたいので、いったんTextを2つにする方法で考えてみます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/23 12:49
2019/10/24 21:28
2019/10/25 10:11