您好,
关于对象生成选项中的“作为子对象生成”,即使选择了该选项,似乎并未成为父对象的子级(例如:不跟随父对象)。请问这具体的规格是怎样的?
我尝试将以下脚本附加到生成的对象上,并追溯其父对象,发现无论该选项是开启还是关闭,对象的“父对象的父对象”(最近的父对象是附加了脚本的节点的父对象,因此“父对象的父对象”应为预期的生成源)均为 ObjectRoot,且向上追溯也无法检测到生成源对象。
extends Node2D
# 初始化时,从自身开始向上追溯至主场景根节点的所有父节点,并输出其名称和类名
func _ready() -> void:
# 获取主场景的根节点
var scene_root: Node = get_tree().get_current_scene()
# 从自身节点开始
var node: Node = self
# 持续向上追溯父节点
while node.get_parent() != null:
# 移动到父节点
node = node.get_parent()
# 输出节点名称和类名
print("[Ancestor] %s (Type: %s)" % [node.name, node.get_class()])
# 到达主场景根节点后结束
if node == scene_root:
break
给您带来不便,敬请谅解,若能确认此事将不胜感激。