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

时间:2018-08-14 13:59:25

标签: godot gdscript

我正在使用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)

如果我尝试在场景中添加多个立方体,则会出现错误:

  

无法将子级“多维数据集”添加到“ root”,已经具有父级“ root”。

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

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