如何在 Godot 3 中添加 3D 场景的多个实例?

How to add multiple instances of a 3D scene in 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)

如果我尝试向场景中添加多个立方体,我会收到错误消息:

Can't add child 'Cube' to 'root', already has a parent 'root'.

我做错了什么?

您正在尝试将相同的 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())