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