2

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

我究竟做错了什么?

4

1 回答 1

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())
于 2018-08-14T17:55:43.680 回答