Как добавить несколько экземпляров 3D-сцены в Godot 3?
Я использую Godot 3.0.6. Я могу создать сцену нажатием клавиши, но только один раз. Вот мой код в GDScript:
extends KinematicBody
var cube = load("res://Scenes/Cube.tscn").instance()
var ball
var velocity
func _ready():
ball = get_node(".")
func _process(delta):
pass
func _physics_process(delta):
if Input.is_action_pressed("ui_up"):
get_tree().get_root().add_child(cube)
Если я пытаюсь добавить более одного куба в сцену, я получаю сообщение об ошибке:
Невозможно добавить дочерний "Cube" в "root", у него уже есть родительский "root".
Что я делаю неправильно?
1 ответ
Решение
Вы пытаетесь добавить то же самое cube
экземпляр к дереву сцены неоднократно. Просто загрузите сцену и не создавайте экземпляр немедленно. Создайте новые экземпляры при нажатии клавиши и добавьте их в дерево сцены.
var cube = preload("res://Scenes/Cube.tscn")
func _physics_process(delta):
if Input.is_action_pressed("ui_up"):
# Create a new instance here.
get_tree().get_root().add_child(cube.instance())