This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Embora o Defold permita criar muito conteúdo do seu jogo usando ferramentas visuais, como os editores de tilemap e efeitos de partículas, você ainda cria a lógica do jogo usando um editor de código. A lógica do jogo é escrita usando a linguagem de programação Lua, enquanto extensões para a própria engine são escritas usando a(s) linguagem(ns) nativa(s) da plataforma-alvo.
O Defold usa Lua 5.1 e LuaJIT (dependendo da plataforma-alvo), e você precisa seguir a especificação da linguagem para essas versões específicas de Lua ao escrever a lógica do jogo. Para mais detalhes sobre como trabalhar com Lua no Defold, veja nosso manual Lua no Defold.
O Defold suporta o uso de transpilers que emitem código Lua. Com a extensão de transpiler instalada, você pode usar linguagens alternativas - como Teal - para escrever Lua com verificação estática. É um recurso em preview que tem limitações: o suporte atual a transpiler não expõe as informações sobre módulos e funções definidas no runtime Lua do Defold. Isso significa que usar APIs do Defold como go.animate exigirá que você escreva definições externas por conta própria.
O Defold permite estender a engine de jogos com código nativo para acessar funcionalidades específicas de plataforma não fornecidas pela própria engine. Você também pode usar código nativo quando o desempenho de Lua não for suficiente (cálculos intensivos, processamento de imagens etc). Consulte nossos manuais sobre Native Extensions para saber mais.
O Defold tem um editor de código integrado que permite abrir e editar arquivos Lua (.lua), arquivos de script do Defold (.script, .gui_script e .render_script), assim como qualquer outro arquivo com uma extensão não tratada nativamente pelo editor. Além disso, o editor fornece destaque de sintaxe para arquivos Lua e scripts.

O editor de código integrado mostrará autocompletar de funções enquanto você escreve código:

Pressionar CTRL + Space mostrará informações adicionais sobre funções, argumentos e valores de retorno:

O servidor de linguagem Lua incluído contém anotações de tipos para as APIs do Defold. O preenchimento automático, as informações ao passar o mouse e os diagnósticos reconhecem tipos do Defold como hashes, URLs, vetores e quatérnios, além de argumentos e valores de retorno de funções. O editor fornece anotações para scripts do jogo e para as APIs editor.* usadas em arquivos .editor_script. Não é necessária uma biblioteca de anotações separada para as APIs integradas ao usar o editor de código do Defold.
APIs de extensões de terceiros podem precisar de suas próprias anotações.
Selecione Edit ▸ Format Document/Selection ou pressione Alt + Shift + F para executar o formatador do servidor de linguagem. Com uma seleção, o editor formata as linhas selecionadas; sem seleção, formata o documento. A formatação exige um servidor de linguagem compatível com a operação de formatação correspondente.
Para formatar arquivos abertos e modificados ao salvar, ative Format on save em Preferences ▸ Code. Essa preferência vem desativada por padrão e exige um servidor de linguagem compatível com a formatação de documentos. Consulte preferências de Code.
O editor de código integrado pode exibir uma lista pesquisável de símbolos no arquivo de código atual, como funções, objetos e variáveis. Selecione View ▸ Jump to Symbol… ou pressione Ctrl + Shift + O no Windows e Linux, ou ⌘ Cmd + Shift + O no macOS.
Comece a digitar para fazer uma busca aproximada pelos símbolos, use as teclas de seta para percorrer os resultados e pré-visualizar suas localizações no editor e, em seguida, pressione Enter para ir até o símbolo selecionado. Pressione Esc para fechar a caixa de diálogo e retornar à posição anterior do cursor e da rolagem.

O editor de código integrado realiza linting de código usando Luacheck e Lua language server. Para configurar o Luacheck, crie um arquivo .luacheckrc na raiz do projeto. Você pode ler a página de configuração do Luacheck para ver a lista de opções disponíveis. O Defold usa os seguintes padrões para a configuração do Luacheck:
unused_args = false -- não avisa sobre argumentos não usados (comum em arquivos .script)
max_line_length = false -- não avisa sobre linhas longas
ignore = {
"611", -- linha contém apenas whitespace
"612", -- linha contém whitespace no fim
"614" -- whitespace no fim de um comentário
},
O editor de código do Defold fornece a funcionalidade básica necessária para escrever código, mas para casos de uso mais avançados ou para usuários experientes com um editor de código favorito, é possível fazer o Defold abrir arquivos usando um editor externo. Na janela Preferences na aba Code, é possível definir um editor externo que deve ser usado ao editar código.
Defold Kit é um plugin do Visual Studio Code com os seguintes recursos:
Saiba mais e instale o Defold Kit pelo Visual Studio Marketplace.
Pacotes de referência de API criados pela comunidade estão disponíveis para Dash e Zeal.