Menu
CoddyTech

打破箱子

本课属于 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() 是树中位于箱子上方的节点,也就是关卡。爆裂效果是箱子的同级节点,因此箱子消失后,它仍会保留。

challenge icon

挑战

中等

让木箱炸成碎片。

  1. 在 _on_body_entered 中,创建一个爆裂效果,并将它放在木箱的 position 处。
  2. 将它添加到 get_parent() 中,并将它的 emitting 设为 true。
  3. 然后移除木箱。

按下“开始”并走进木箱:碎片会从木箱原来的位置飞出。然后按“检查”。

亲手试试

extends Area2D

const BURST = preload("res://burst.tscn")

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	queue_free()
quiz icon自我测试

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

游戏体验中的所有课

自己练习: Godot 在线编辑器