GDNativeLibrary
Inherits: Resource < Reference < Object
一个包含函数或脚本类的外部库,可以在Godot中使用。
描述
GDNative 库可以实现 NativeScript、用 GDNative 类调用的全局函数或通过 ARVRInterfaceGDNative 等接口实现的低级引擎扩展。该库必须为项目将要运行的每个平台和架构进行编译。
教程
../tutorials/plugins/gdnative/gdnative-c-example
../tutorials/plugins/gdnative/gdnative-cpp-example
属性
| ||
| ||
| ||
|
方法
get_current_dependencies ( ) const | |
get_current_library_path ( ) const |
属性说明
- ConfigFile config_file
Setter | set_config_file(value) |
Getter | get_config_file() |
该资源为 INI 风格的 ConfigFile 格式,如 .gdnlib
文件中。
- bool load_once
Default |
|
Setter | set_load_once(value) |
Getter | should_load_once() |
为 true
时 Godot 只加载一个库的副本,每个引用该库的脚本将共享静态数据,如静态变量或全局变量。
为 false
时 Godot 会为每个引用它的脚本加载一个单独的库副本到内存。
- bool reloadable
Default |
|
Setter | set_reloadable(value) |
Getter | is_reloadable() |
如果true
,每当用户离开编辑器窗口时,编辑器会暂时卸载库,允许用户重新编译库,而不需要重新启动Godot。
注意: 如果库定义了在编辑器内运行的工具脚本,reloadable
必须是false
。否则,编辑器会在工具脚本正在使用的时候尝试卸载它们时而崩溃。
- bool singleton
Default |
|
Setter | set_singleton(value) |
Getter | is_singleton() |
如果true
,Godot会在启动时加载库,而不是在脚本第一次使用库时,在初始化库后调用{prefix}gdnative_singleton
(其中{prefix}
是symbol_prefix的值)。只要Godot在运行,该库就一直被加载。
注意: 单例库不能是reloadable。
- String symbol_prefix
Default |
|
Setter | set_symbol_prefix(value) |
Getter | get_symbol_prefix() |
这个库的入口点函数开始的前缀。例如,一个 GDNativeLibrary 默认将其 gdnative_init
函数声明为 godot_gdnative_init
。
在需要静态链接库的平台上(目前只有iOS),每个库必须有一个不同的symbol_prefix
。
方法说明
- PoolStringArray get_current_dependencies ( ) const
返回当前平台和架构的所有依赖库的路径。
- String get_current_library_path ( ) const
返回当前平台和架构的动态库文件的路径。