【ゲーム製作】ハァハァProgressBarの%表示を変えた(Godot4)
ProgressBarを初めて実装しようとしているのですが、下記のようにバーの上にデフォルトで%表記があります。
「まあサクッと変更するプロパティあるんだろうな~」と思ってたら、見つけられませんでした。ウソでしょ・・・
というわけで生まれたのが以下のソースってワケ
extends ProgressBar
# カスタム表示用のプロパティ
var max_val: int
var current_val: int
# プロパティの初期化
func _ready():
max_val = max_value
current_val = value
# %表示を消すための設定
self.add_theme_color_override("font_color", Color(0, 0, 0, 0))
queue_redraw() # 再描画をトリガーする
# 値変更時の処理(ソースかGUIでconnectしておく)
func _on_value_changed(value):
current_val = int(value)
queue_redraw() # 再描画をトリガーする
# 描画関数のオーバーライド
func _draw():
var display_text = str(current_val) + "/" + str(max_val)
var font = get_theme_default_font()
var vct = get_rect().size
var posi = Vector2((vct.x - font.get_string_size(display_text).x) / 2, (vct.y + font.get_ascent() - font.get_descent()) / 2)
draw_string(font, posi, display_text, HORIZONTAL_ALIGNMENT_CENTER)
デフォルトの%表示を強引に消して、
その上から強引にお好きなフォーマットを書いています。