Godot中设置Sprite2D节点透明度
该方法可以用于所有CanvasItem
类及其子类
···
# 假设在`CancasItem`节点自身脚本中执行
# 设置范围0~1
## 设置自己及子节点
modulate.a = 0.5
## 仅设置自己节点的透明度
self_modulate.a = 0.5
# 设置范围(0~255)8bit
## 设置自己及子节点
modulate.a8 = 100
## 仅设置自己节点的透明度
self_modulate.a8 = 100
···
如何理解如下代码:
-
Sprite2D
节点继承自CanvasItem
,节点中modulate
、self_modulate
属性控制节点的颜色属性,是Color
类型Color modulate [default: Color(1, 1, 1, 1)] set_modulate(value) setter get_modulate() getter 应用于这个 CanvasItem 的颜色。这个属性会影响子级 CanvasItem,与只会影响节点自身的 self_modulate 不同。 ● Color self_modulate [default: Color(1, 1, 1, 1)] set_self_modulate(value) setter get_self_modulate() getter 应用于这个 CanvasItem 的颜色。这个属性不会影响子级 CanvasItem,与会同时影响节点自身和子级的 modulate 不同。 注意:内部子节点(例如 ColorPicker 中的滑动条、TabContainer 中的选项卡栏)也不受这个属性的影响(见 Node.get_child 等类似方法的 include_internal 参数)。
-
Color
类型中的a
,a8
属性控制其透明度float a = 1.0 颜色的 Alpha 分量,一般在 0 到 1 的范围内。0 表示该颜色完全透明。1 表示该颜色完全不透明。 int a8 = 255 对 a 的封装,使用 0 到 255 的范围而不是 0 到 1。