Read this manual in English

编写代码

Defold 可以让你使用编辑器的可视工具来创建许多游戏必要的东西, 比如瓷砖地图和粒子特效, 但是对于游戏逻辑还是得写代码. 游戏逻辑使用 Lua 语言 , 引擎扩展使用目标平台的原生开发语言.

编写Lua脚本

Defold 使用 Lua 5.1 和 LuaJIT (与目标平台相关) 并且需要遵循 Lua 该版本的书写规范来编写代码. 关于 Defold 中 Lua 使用详情请见 Defold中Lua使用教程.

使用其他语言再转换为 Lua

从 1.8.1 版本开始, Defold 支持使用生成 Lua 代码的翻译器. 安装了翻译器扩展, 你就能使用其他语言 — 比如 Teal — 写出带静态检查的 Lua. 这还是个预览功能, 它有如下限制: 目前翻译器支持不暴露模块和定义在 Defold Lua 运行环境中的函数. 这意味着使用 Defold APIs 类似 go.animate 需要你自己手动去写外部定义.

编写原生代码

Defold 允许使用原生代码来扩展游戏引擎以使用引擎所不具备的特定功能. 或者 Lua 性能不良时 (密集计算, 图像处理等) 考虑使用原生扩展. 详情请见 原生扩展教程.

使用内置代码编辑器

Defold 中内建编辑器可以打开和编辑 Lua 文件 (.lua), Defold 脚本文件 (.script, .gui_script 与 .render_script) 或者其他各类文件. 但只对Lua和脚本文件提供代码高亮.

代码补全

内置代码编辑器写代码时会出现代码补全功能:

CTRL + Space 会出现函数, 参数和返回值的相关信息:

检查配置

内置代码编辑器使用 Luacheck 和 Lua language server 进行代码检查. 为了配置检查, 需要在项目根目录创建 .luacheckrc 文件. 可用的配置列表可以参考 Luacheck 配置页面. Defold 默认使用如下代码进行 Luacheck 配置:

unused_args = false      -- 未使用的参数不提示 (一般用于 .script 文件)
max_line_length = false  -- 超长行不提示
ignore = {
    "611",               -- 行内只包含空白
    "612",               -- 行尾包含空白
    "614"                -- 注释结尾包含空白
},

使用第三方代码编辑器

尽管 Defold 提供了编写脚本的基本功能, 但是对于需求更多功能的专业开发者来说还是希望让 Defold 使用自己喜欢的第三方编辑器. 在 Code 页下的 Preferences 窗口 中可以指定使用第三方编辑器.

Visual Studio Code - Defold Kit

Defold Kit 是一个 Visual Studio Code 插件, 其包含如下功能:

  • 安装推荐扩展
  • Lua 高光, 自动补全和 linting
  • 将相关设置应用于工作区
  • Defold API 的 Lua 提示
  • 依赖库的 Lua 提示
  • 编译和运行
  • 断点和调试
  • 跨平台编译
  • 在连接的设备上运行应用

安装 Defold Kit 详情参考 Visual Studio 商店页面.

文档工具

社区创建的 API 参考包可用于 Dash 和 Zeal.