我有一个带有变量的场景,每个景象:@export name:string 如果在我的主要场景中获取其中的3个,并且全部更改了它们的“名称”,那么我如何从控制主场景的脚本中访问该变量,而不是控制“ Caracter”场景的一个场景
很明显,谢谢你
解决方法: 实例场景:确保场景(如角色场景)在主要场景中进行了实例。 accessing导出变量:您可以使用get_node()或存储对实例的引用。
示例:1。查拉克场景(prinne.tscn) 在您的角色场景中,您有一个导出的变量名称:
#字符.gd(附加到角色场景)
extendsnode2d
@导出var名称:字符串
22.main场景(main.tscn) 在您的主要场景中,您将实现角色场景,然后访问其名称变量:
#mainscene.gd(附属于主场景) 扩展Node2D
@export var targue_scene:包装
var targure_instances = []
Func_ready():
#Instance 3 characters
for i in range(3):
var character = character_scene.instantiate()
add_child(character)
character.name = "Character " + str(i + 1) # Set the name
character_instances.append(character)
#Now you can access the name from the main script
for character in character_instances:
print(character.name) # This will print each character's name
键点: @Export var targue_scene:包装量用于导出场景(您可以在Godot编辑器中分配包装)。 字符的each实例是通过在包装上调用Instantiate()创建的。
您通过直接引用实例访问每个字符的名称变量。跨不同场景的变量:
通过实现场景并存储参考(在这种情况下为targin_instances),您可以从主场景脚本访问和修改变量(在这种情况下为名称)。 Pisqre参观最新见解! 💡