Годо: Как мне сбросить сцену после использования очереди_free()?Python

Программы на Python
Anonymous
Годо: Как мне сбросить сцену после использования очереди_free()?

Сообщение Anonymous »

У меня есть мяч (

Код: Выделить всё

CharacterBody2D
), что при столкновении с 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

Вернуться в «Python»