Godot - Buttonのサイズを優先してテキストをトリミングする
GDScriptからButtonノードのサイズを優先してテキストをトリミングする方法とコード例です。
Buttonノードはデフォルトの設定の場合、テキストやアイコンに合わせてサイズが自動調整される仕様です。set_clip_text()
にて「true」を指定し、「Clip Text」プロパティを有効にする事でボタンのサイズに合わせてテキストをトリミングする事が可能です。
「Clip Text」プロパティの指定を反映させるにはButtonのサイズ指定より手前で実行する必要があります。
# Buttonノードを作成する
var button = Button.new()
add_child(button)
button.set_text("This is a Button")
# Clip Textを有効にする
button.set_clip_text(true)
# Buttonのサイズを指定する
button.set_size(Vector2(100, 50))
Clip Textを有効にした場合、デフォルトでははみ出る部分のテキストが切り取られますが、「OverrunBehavior」プロパティで「0」を指定している状態になります。
Clip Textではなくset_text_overrun_behavior()
で「OverrunBehavior」プロパティを指定する事でトリミングの方法を変更する事が可能です。
0 : テキストはトリミングされません。(デフォルト)
1 : 文字ごとにテキストをトリミングします。
2 : 単語ごとにテキストをトリミングします。
3 : 文字ごとにテキストをトリミングし、省略記号を追加します。
4 : 単語ごとにテキストをトリミングし、省略記号を追加します。
「OverrunBehavior」の指定を反映させるにはButtonのサイズ指定より手前で実行する必要があります。
# Buttonノードを作成する
var button = Button.new()
add_child(button)
button.set_text("This is a Button")
# OverrunBehaviorを指定する
button.set_text_overrun_behavior(3)
# Buttonのサイズを指定する
button.set_size(Vector2(100, 50))