加入一个组
本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 11 课,共 27 课。
游戏中通常会有很多金币或很多敌人。组是一个标签,你可以添加到节点上,这样就能把它们当作一个集合来处理。
节点通常会在 _ready() 中使用 add_to_group() 加入一个组:
func _ready():
add_to_group("coins")组名是引号中的文本。第一个加入的节点会创建这个组。
这 4 枚金币都运行 coin.gd,所以这一行代码会把它们全部加入这个组。Main 上的脚本会旋转 coins 中的每个节点:
extends Node2D
# Main 会让 coins 组中的每个节点旋转。
func _process(delta):
for coin in get_tree().get_nodes_in_group("coins"):
coin.rotation += 3 * deltafor 循环会在之后的两节课中讲解。目前这个组还是空的,所以没有任何东西会旋转。
挑战
简单让每枚硬币都加入一个组。
- 在
coin.gd中,将_ready()里的pass替换为一行代码,把硬币添加到名为"coins"的组中。 - 组名中的字母 c 要小写。
按“运行”:四枚硬币都会旋转。然后按“检查”。
亲手试试
extends Area2D
func _ready():
pass
信号与碰撞中的所有课
自己练习: Godot 在线编辑器