[写了一些文件保存在Godot中的JSON文件中之后。我将信息保存在名为LData
的变量中,并且该变量正在运行。 LData
看起来像这样:
{
"ingredients" : [
"[KinematicBody2D:1370]"
],
"collected" : [
{
"collected" : true,
"iname" : "Pineapple"
},
{
"iname" : "Banana",
"collected" : false
}
]
}
文件显示KinematicBody2D:1370
是什么意思?我了解它正在将节点保存在文件中-还是仅保存字符串?是否也在保存节点的属性?
[当我尝试检索数据时-分配给已保存的KinematicBody2D
的变量。]>
代码:
for ingredient in LData.ingredients: print(ingredient.iname)
错误:
无效的获取索引名称'iname'(基于'String')]
我假设数据存储为字符串,我需要放置一些代码以获取保存的确切节点。使用
get_node
也会引发错误。
代码:
for ingredient in LData.ingredients: print(get_node(ingredient).iname)
错误:
无效的获取索引'iname'(基于'null实例')] >>
当说
[KinematicBody2D:1370]
时,它到底存储了什么信息?如何访问变量iname
和其他任何变量-在加载游戏时分配给节点的变量-并不会在整个游戏中更改?
[写了一些文件保存在Godot中的JSON文件中之后。我将信息保存在名为LData的变量中,并且该变量正在运行。 LData看起来像这样:{“ ingredients”:[“ [...
[KinematicBody2D:1370]
只是Node
的字符串表示形式,它来自Object.to_string
:
返回代表对象的字符串。如果未覆盖,则默认为“ [ClassName:RID]”。