GDNativeLibrary

Inherits: Resource < Reference < Object

一个包含函数或脚本类的外部库,可以在Godot中使用。

描述

GDNative 库可以实现 NativeScript、用 GDNative 类调用的全局函数或通过 ARVRInterfaceGDNative 等接口实现的低级引擎扩展。该库必须为项目将要运行的每个平台和架构进行编译。

教程

  • ../tutorials/plugins/gdnative/gdnative-c-example

  • ../tutorials/plugins/gdnative/gdnative-cpp-example

属性

ConfigFile

config_file

bool

load_once

true

bool

reloadable

true

bool

singleton

false

String

symbol_prefix

"godot_"

方法

PoolStringArray

get_current_dependencies ( ) const

String

get_current_library_path ( ) const

属性说明

Setter

set_config_file(value)

Getter

get_config_file()

该资源为 INI 风格的 ConfigFile 格式,如 .gdnlib 文件中。


Default

true

Setter

set_load_once(value)

Getter

should_load_once()

true 时 Godot 只加载一个库的副本,每个引用该库的脚本将共享静态数据,如静态变量或全局变量。

false 时 Godot 会为每个引用它的脚本加载一个单独的库副本到内存。


Default

true

Setter

set_reloadable(value)

Getter

is_reloadable()

如果true,每当用户离开编辑器窗口时,编辑器会暂时卸载库,允许用户重新编译库,而不需要重新启动Godot。

注意: 如果库定义了在编辑器内运行的工具脚本,reloadable必须是false。否则,编辑器会在工具脚本正在使用的时候尝试卸载它们时而崩溃。


Default

false

Setter

set_singleton(value)

Getter

is_singleton()

如果true,Godot会在启动时加载库,而不是在脚本第一次使用库时,在初始化库后调用{prefix}gdnative_singleton(其中{prefix}symbol_prefix的值)。只要Godot在运行,该库就一直被加载。

注意: 单例库不能是reloadable


Default

"godot_"

Setter

set_symbol_prefix(value)

Getter

get_symbol_prefix()

这个库的入口点函数开始的前缀。例如,一个 GDNativeLibrary 默认将其 gdnative_init 函数声明为 godot_gdnative_init

在需要静态链接库的平台上(目前只有iOS),每个库必须有一个不同的symbol_prefix

方法说明

返回当前平台和架构的所有依赖库的路径。


  • String get_current_library_path ( ) const

返回当前平台和架构的动态库文件的路径。