我正在使用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”。
我在做什么错了?
答案 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())