Godot中设置Sprite2D节点透明度

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。
    
posted @ 2024-04-26 13:00  biiigwang  阅读(4)  评论(0编辑  收藏  举报