屏幕保护程序:新颜色
本课属于 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== 用于检查两个值是否相等。单个 = 用于设置值。
挑战
简单每次反弹时,都让 logo 显示下一种颜色。
- 编写
func next_color():。将color_index加 1;如果它等于colors.size(),就将它设回0;然后设置modulate = colors[color_index]。 - 在两个
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
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
节点与场景中的所有课
自己练习: Godot 在线编辑器