删除一个节点
本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 15 课,共 27 课。
你捡到的硬币应该消失,而不是被隐藏,这样就不会再有东西碰到它。queue_free() 会从游戏中移除一个节点及其所有子节点:
func _on_body_entered(body):
queue_free()单独调用时,queue_free() 会移除脚本所在的节点,这里指的是硬币。
名称中有“queue”,是因为 Godot 会在当前帧结束时释放节点,而不是立即释放。在此之前,其他代码仍可能会使用该节点。再过几课,你就会知道这为什么很重要。
挑战
简单走到金币上时,让金币消失。
- 在
_on_body_entered中替换pass。 - 使用
queue_free()释放金币。
按“开始”,然后走到金币上:金币消失了。接着按“检查”。
亲手试试
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
信号与碰撞中的所有课
自己练习: Godot 在线编辑器