用途:在 Defold 引擎中创建或编辑原生扩展,适用于处理 C/C++(.c、.cpp、.h、.hpp)、JavaScript(.js)或 manifest 文件。
主要能力:说明原生扩展的目录结构(ext.manifest、src/、include/、lib/、api/、res/);给出 ext.manifest 的 YAML 格式示例;展示 C++ 扩展入口点(DM_DECLARE_EXTENSION 与 LuaInit);说明 HTML5/JavaScript 扩展写法;列出各平台库路径(如 x86_64-win32、arm64-ios、js-web 等)。
使用方式:优先使用 dmSDK 的 C++ 函数而非 Lua API 包装,例如用 dmScript::CheckGOInstance、dmGameObject::GetCollection、dmGameObject::GetInstanceFromIdentifier 获取实例,用 dmGameObject::SetPosition/SetRotation/SetScale 操作对象,用 dmScript::CheckVector3 等提取 Lua 类型。异步回调使用 dmScript::LuaCallbackInfo,生命周期为 CreateCallback → SetupCallback → PCall → TeardownCallback → DestroyCallback,并在 Finalize 中清理避免泄漏。仅在无 dmSDK 等价实现(如 go.animate、msg.post)时才回退到 lua_getglobal/lua_call。可参考 Defold 引擎源码与 extension-spine 示例,用 Librarian 或 defold-api-fetch 获取 API 文档。
限制:资料未提供收费、价格、平台支持范围或效果保证等信息;具体 API 行为需以官方文档与引擎源码为准。