Godot - Buttonの背景色を透明にする
GDScriptからButtonノードの背景色を透明にする方法とコード例です。
Buttonノードの背景色を透明にするにはadd_theme_stylebox_override()
にて各要素にStyleBoxEmptyを割り当てる事で実装できます。
# Buttonノードを作成する
var button = Button.new()
add_child(button)
button.text = "Button"
# StyleBoxEmptyを作成
var stylebox_empty = StyleBoxEmpty.new()
# デフォルトの背景色
button.add_theme_stylebox_override("normal", stylebox_empty)
# ホバー時の背景色
button.add_theme_stylebox_override("hover", stylebox_empty)
# 押された時の背景色
button.add_theme_stylebox_override("pressed", stylebox_empty)
# 無効時の背景色
button.add_theme_stylebox_override("disabled", stylebox_empty)
# フォーカス時の枠線の色
button.add_theme_stylebox_override("focus", stylebox_empty)
Buttonの背景色の変化がなくなりますので、Buttonテキストのホバー時、押された時の文字色を設定する必要があります。add_theme_color_override()
にて「font_hover_color」と「font_pressed_color」プロパティの値を指定します。
button.add_theme_color_override("font_hover_color", Color("#F00", 1))
button.add_theme_color_override("font_pressed_color", Color("#000", 1))