Godot 游戏引擎指南 / 创建资源
外观
< Godot 游戏引擎指南 | 插件
要创建一个新的 资源,您需要创建一个新的脚本(该脚本未附加到节点)。以下是一个示例
tool extends Resource export (int, INT, STRING) var property_type = 0 setget set_type var property func _get_property_list(): var out = [ { "name": "Property", "type": [TYPE_INT, TYPE_STRING][property_type] } ] return out func _get(what): if what == "Property": return property func _set(what, to): if what == "Property": what = to func set_type(value): property_type = value match value: 0: if !property is int: property = int(property) 1: if !property is String: property = String(property)
一个简单的示例,它展示了一个可以存储 int 或 String 的资源。
_get_property_list()
必须返回一个 数组 的 字典,每个字典都包含以下值
以下是可选的
- hint (int):
PROPERTY_HINT_*
常量。 - hint_string (字符串)
- usage (int):
PROPERTY_USAGE_*
常量。
property_type
太简单了,不需要用 _get_property_list()
来更改或定义。相反,使用 export
,以及 setget
来处理更改时的事件。
当 property_type
设置后,property
的类型就会改变。
现实世界的例子包括存储键或图像。资源只是为其他脚本保存数据,它本身并不实际处理数据。