Menu
CoddyTech

更改颜色

本课属于 Coddy Godot 学习旅程的“节点与场景”单元。第 22 课,共 28 课。

每个会绘制内容的节点都有一个 modulate,它是一种能给节点着色的颜色。Color 由红、绿、蓝三种颜色组成,每种颜色的值都在 0 到 1 之间。modulate 的初始值是白色,也就是 Color(1, 1, 1),不会改变任何东西。

色调会与节点本身的颜色相乘。对于白色的东西,你看到的就是色调的颜色。对于蓝色的东西,珊瑚色的色调会使它变成紫色。

$Body.modulate = Color(1, 0.78, 0.34)   # 琥珀色调

modulate 也会给节点的子节点着色。给 Eyes 着色时,两只眼睛都会改变。若要给节点着色但不影响它的子节点,请使用 self_modulate。

challenge icon

挑战

简单

让机器人的眼睛发出珊瑚色的光。

  1. 在 _ready() 中,设置 eyes 的 modulate。
  2. 使用珊瑚色:Color(1, 0.42, 0.42)。

按“开始”:两只眼睛都会发出珊瑚色的光,身体则保持蓝色。然后按“检查”。

亲手试试

extends Node2D

@onready var eyes = $Face/Eyes

func _ready():
	pass

节点与场景中的所有课

自己练习: Godot 在线编辑器