Menu
CoddyTech

Разбей ящик

Часть раздела Ощущения от игры путешествия по 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. В _on_body_entered создайте всплеск с помощью BURST.instantiate() и поместите его в 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