Menu
CoddyTech
flag Ru iconРусскийdown icon

Разбей ящик

Часть раздела Ощущения от игры путешествия по Godot на Coddy. Урок 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. создай всплеск с помощью BURST.instantiate(),
  2. помести его в position ящика,
  3. добавь его в get_parent() и установи для его emitting значение true,
  4. затем удали ящик.

Попробуйте сами

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