5个版本

0.2.0 2023年1月13日
0.1.3 2023年1月2日
0.1.2 2022年12月30日
0.1.1 2022年12月30日
0.1.0 2022年12月15日

#1022 in 游戏开发

MIT许可协议

480KB
1.5K SLoC

defold-rs

defold-rs

Crates.io

用于在Rust中创建Defold原生扩展的工具。

快速开始

你需要

按照构建服务器README中的说明进行操作以构建并运行它。一旦启动,请在Defold中打开模板项目,并在Rust兼容的IDE中打开 /myextension/src。要告诉Defold使用你的构建服务器,请选择 文件 > 首选项 > 扩展 并将 构建服务器 设置为 https://127.0.0.1:9000。完成此操作后,你只需在Defold中按 Ctrl+B 即可开始编译项目!第一次构建将花费一些时间,因为需要从Defold的服务器下载文件并将crate从头开始编译。

什么是Defold?

Defold 是一个免费和开源的游戏引擎,专注于快速、轻量级的桌面、Web、移动和游戏控制台游戏,无需设置。几乎所有的游戏逻辑都是用 Lua 脚本编写的,但引擎还提供了使用 原生扩展 来扩展其功能的方法。

什么是原生扩展?

原生扩展 允许你使用C++或任何平台特定语言扩展Defold的功能。你可以为Web游戏编写JavaScript扩展,为Android编写Java扩展,或为macOS/iOS编写Objective-C扩展。Defold的扩展SDK(简称dmSDK)为你提供了比标准Lua脚本更深入的控制引擎,非常适合性能敏感的处理。

那么 defold-rs 是什么呢?

它是两个主要部分,结合在一起让你能够用Rust编写原生扩展。

  • defold-rs - 该仓库是 dmsdkdmsdk_ffi 仓库的所在地。简而言之,dmsdk_ffi 包含了对 dmSDK 的自动生成的绑定,而 dmsdk 将这些不安全的绑定封装成了一个简洁的 Rust 包。
  • defold-rs-extender - Defold 扩展构建服务器的分支,增加了 Rust 支持。您需要自行运行其中之一才能使用此项目。

依赖项

~1.2–3MB
~70K SLoC