Menu
CoddyTech

屏幕保护程序:新颜色

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

最后一步会让徽标每次弹起时都切换到下一个颜色。四条边的处理方式相同,所以把它放进一个函数 next_color() 中,并在每次弹起时调用它。

这个函数会将 color_index 加 1,然后显示 colors[color_index]。有三种颜色时,索引依次为 1、2、3,而 3 对应的颜色不存在。因此,当它等于 colors.size(),也就是项目数量时,将它设回 0:

if color_index == colors.size():
	color_index = 0

== 用于检查两个值是否相等。单个 = 用于设置值。

challenge icon

挑战

简单

每次反弹时,都让 logo 显示下一种颜色。

  1. 编写 func next_color():。将 color_index 加 1;如果它等于 colors.size(),就将它设回 0;然后设置 modulate = colors[color_index]。
  2. 在两个 if 中,翻转速度后调用 next_color()。

按“开始”:每次反弹都会显示列表中的下一种颜色。然后点击“检查”。

亲手试试

extends Node2D

var velocity = Vector2(200, 90)
var colors = [Color(0.49, 0.95, 0.75), Color(1, 0.78, 0.34), Color(1, 0.42, 0.42)]
var color_index = 0

func _ready():
	modulate = colors[0]

func _process(delta):
	position += velocity * delta
	if position.x > 570 or position.x < 70:
		velocity.x = -velocity.x
	if position.y > 330 or position.y < 30:
		velocity.y = -velocity.y
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

节点与场景中的所有课

自己练习: Godot 在线编辑器