У меня есть мяч (
), что при столкновении с Area2D он уничтожается с помощью очереди_free()
Код: Выделить всё
extends CharacterBody2D
func _on_bottom_wall_body_entered(body):
queue_free()
У меня также есть основная сцена Node, которая устанавливает положение шаров X/Y при _ready.
Код: Выделить всё
extends Node2D
func _ready():
ball_position()
func ball_position():
$Ball.position.x = 575
$Ball.position.y = 450
Я пытаюсь вернуть мяч в это положение после его уничтожения внутри Area2D. Причина его уничтожения заключается в том, что Area2D является нижней стеной, и если мяч касается ее, игрок теряет жизнь. Я написал этот скрипт, чтобы воссоздать мяч.
Код: Выделить всё
var add_ball = preload("res://scenes/ball.tscn").instantiate()
func recreate():
var new_ball = add_ball
add_child(new_ball)
но это не сработало и продолжало выдавать ошибки, которые мне приходилось проверять на наличие бесконечной рекурсии в моем скрипте. Мне интересно, есть ли правильный способ «сбросить» сцену (Мяч) после ее уничтожения.
Подробнее здесь:
https://stackoverflow.com/questions/782 ... queue-free