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
Defold ti permette di creare gran parte dei contenuti del gioco con strumenti visivi, come gli editor di mappe di tile ed effetti particellari, ma per la logica di gioco devi comunque usare un editor di codice. La logica di gioco si scrive con il linguaggio di programmazione Lua, mentre le estensioni del motore stesso si scrivono con i linguaggi nativi della piattaforma di destinazione.
Defold usa Lua 5.1 e LuaJIT (a seconda della piattaforma di destinazione) e, quando scrivi la logica di gioco, devi seguire le specifiche del linguaggio per queste versioni di Lua. Per maggiori dettagli su come lavorare con Lua in Defold, consulta il manuale Lua in Defold.
Defold supporta l’uso di transcompilatori che generano codice Lua. Con un’estensione di transcompilazione installata, puoi usare linguaggi alternativi — come Teal — per scrivere codice Lua verificato staticamente. È una funzionalità in anteprima che presenta alcune limitazioni: il supporto attuale per i transcompilatori non espone le informazioni sui moduli e sulle funzioni definiti nel runtime Lua di Defold. Questo significa che, per usare API di Defold come go.animate, dovrai scrivere tu le definizioni esterne.
Defold ti permette di estendere il motore di gioco con codice nativo per accedere a funzionalità specifiche della piattaforma che il motore stesso non fornisce. Puoi usare il codice nativo anche quando le prestazioni di Lua non sono sufficienti (calcoli che richiedono molte risorse, elaborazione di immagini, ecc.). Consulta i manuali sulle estensioni native per saperne di più.
Defold dispone di un editor di codice integrato che ti permette di aprire e modificare file Lua (.lua), file di script Defold (.script, .gui_script e .render_script) e qualsiasi altro file la cui estensione non sia gestita nativamente dall’editor. Inoltre, l’editor offre l’evidenziazione della sintassi per i file Lua e gli script.

L’editor di codice integrato mostra suggerimenti per completare i nomi delle funzioni mentre scrivi il codice:

Premendo CTRL + Space vengono mostrate ulteriori informazioni su funzioni, argomenti e valori restituiti:

L’editor di codice integrato può mostrare un elenco ricercabile dei simboli presenti nel file di codice corrente, come funzioni, oggetti e variabili. Seleziona View ▸ Jump to Symbol…, oppure premi Ctrl + Shift + O su Windows e Linux, o ⌘ Cmd + Shift + O su macOS.
Inizia a digitare per cercare i simboli anche con corrispondenze approssimative, usa i tasti freccia per spostarti tra i risultati e visualizzare in anteprima le rispettive posizioni nell’editor, poi premi Enter per passare al simbolo selezionato. Premi Esc per chiudere la finestra di dialogo e ripristinare la posizione precedente del cursore e dello scorrimento.

L’editor di codice integrato esegue l’analisi statica del codice usando Luacheck e Lua language server. Per configurare Luacheck, crea un file .luacheckrc nella radice del progetto. Puoi consultare la pagina di configurazione di Luacheck per conoscere le opzioni disponibili. Defold usa i seguenti valori predefiniti per la configurazione di Luacheck:
unused_args = false -- don't warn on unused arguments (common for .script files)
max_line_length = false -- don't warn on long lines
ignore = {
"611", -- line contains only whitespace
"612", -- line contains trailing whitespace
"614" -- trailing whitespace in a comment
},
L’editor di codice di Defold offre le funzionalità di base necessarie per scrivere codice, ma per esigenze più avanzate o per gli utenti esperti che hanno un editor preferito, puoi fare in modo che Defold apra i file con un editor esterno. Nella finestra Preferences, nella scheda Code, puoi definire un editor esterno da usare per modificare il codice.
Defold Kit è un plugin di Visual Studio Code con le seguenti funzionalità:
Scopri di più e installa Defold Kit da Visual Studio Marketplace.
Sono disponibili pacchetti di riferimento API creati dalla comunità per Dash e Zeal.