Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
ResourceSaver¶
继承: Object
用于将 Resource 保存到文件系统的单例。
描述¶
用于将资源类型保存到文件系统的单例。
它会使用在引擎中注册的(内置或插件)ResourceFormatSaver 将资源数据保存为文本文件(如 .tres
或 .tscn
)或二进制文件(如 .res
或 .scn
)。
方法¶
void |
add_resource_format_saver ( ResourceFormatSaver format_saver, bool at_front=false ) |
get_recognized_extensions ( Resource type ) |
|
void |
remove_resource_format_saver ( ResourceFormatSaver format_saver ) |
save ( Resource resource, String path="", BitField<SaverFlags> flags=0 ) |
枚举¶
flags SaverFlags:
SaverFlags FLAG_NONE = 0
没有资源保存选项。
SaverFlags FLAG_RELATIVE_PATHS = 1
用相对于使用该资源的场景的路径来保存该资源。
SaverFlags FLAG_BUNDLE_RESOURCES = 2
捆绑外部资源。
SaverFlags FLAG_CHANGE_PATH = 4
更改已保存资源的 Resource.resource_path 以匹配其新位置。
SaverFlags FLAG_OMIT_EDITOR_PROPERTIES = 8
不要保存编辑器特定的元数据(由其 __editor
前缀标识)。
SaverFlags FLAG_SAVE_BIG_ENDIAN = 16
保存为大端序(见 FileAccess.big_endian)。
SaverFlags FLAG_COMPRESS = 32
在保存时使用 FileAccess.COMPRESSION_ZSTD 压缩资源。仅适用于二进制资源类型。
SaverFlags FLAG_REPLACE_SUBRESOURCE_PATHS = 64
接管保存的子资源的路径(见 Resource.take_over_path)。
方法说明¶
void add_resource_format_saver ( ResourceFormatSaver format_saver, bool at_front=false )
注册一个新的 ResourceFormatSaver。 ResourceSaver 将使用 ResourceFormatSaver,如 save 中所述。
对于用 GDScript 编写的 ResourceFormatSaver,此方法将隐式执行(详情见 ResourceFormatSaver)。
PackedStringArray get_recognized_extensions ( Resource type )
返回可用于保存给定类型的资源的扩展列表。
void remove_resource_format_saver ( ResourceFormatSaver format_saver )
取消注册给定的 ResourceFormatSaver。
Error save ( Resource resource, String path="", BitField<SaverFlags> flags=0 )
使用识别资源对象的 ResourceFormatSaver 将资源保存到给定路径。如果 path
为空,则 ResourceSaver 将尝试使用 Resource.resource_path。
可以指定 flags
位掩码以使用 SaverFlags 标志自定义保存行为。
成功时返回 @GlobalScope.OK。
注意:项目正运行时,任何生成的与资源关联的 UID 都不会被保存,因为所需的代码仅在编辑器模式下执行。