打破箱子
本课属于 Coddy Godot 学习旅程的“游戏体验”单元。第 15 课,共 23 课。
你走进箱子时,它会消失。让它碎成木屑吧。burst.tscn 是一个只播放一次的 CPUParticles2D,会发射木屑,并在播放完毕后移除自身。
不要把爆裂效果添加为箱子的子节点。queue_free() 会移除一个节点及其所有子节点,所以爆裂效果也会随箱子一起消失。把它添加到箱子的父节点,并放在箱子所在的位置。
var burst = BURST.instantiate()
burst.position = position
get_parent().add_child(burst)
burst.emitting = true
queue_free()get_parent() 是树中位于箱子上方的节点,也就是关卡。爆裂效果是箱子的同级节点,因此箱子消失后,它仍会保留。
挑战
中等让木箱炸成碎片。
- 在
_on_body_entered中,创建一个爆裂效果,并将它放在木箱的position处。 - 将它添加到
get_parent()中,并将它的emitting设为true。 - 然后移除木箱。
按下“开始”并走进木箱:碎片会从木箱原来的位置飞出。然后按“检查”。
亲手试试
extends Area2D
const BURST = preload("res://burst.tscn")
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
游戏体验中的所有课
自己练习: Godot 在线编辑器