Read this FAQ in English

Domande frequenti

Domande generali

D: Defold è davvero gratuito?

R: Sì, il motore e l’editor di Defold con funzionalità complete sono completamente gratuiti. Nessun costo nascosto, commissioni o royalties. Solo gratuito.

D: Perché la Defold Foundation darebbe Defold gratuitamente?

R: Uno degli obiettivi della Defold Foundation è garantire che il software Defold sia disponibile per gli sviluppatori in tutto il mondo e che il codice sorgente sia disponibile gratuitamente.

D: Per quanto tempo supporterete Defold?

R: Siamo profondamente impegnati in Defold. La Defold Foundation è stata costituita in modo tale da garantire che esista come proprietario responsabile di Defold per molti anni a venire. Non andrà via.

D: Posso fidarmi di Defold per lo sviluppo professionale?

R: Assolutamente. Defold è utilizzato da un numero crescente di sviluppatori di giochi professionisti e studi di sviluppo. Dai un’occhiata alla vetrina dei giochi per esempi di giochi creati con Defold.

D: Che tipo di tracciamento degli utenti state effettuando?

R: Registriamo dati anonimi sull’utilizzo dai nostri siti web e dall’editor Defold per migliorare i nostri servizi e prodotti. Non c’è tracciamento degli utenti nei giochi che crei (a meno che tu non aggiunga un servizio di analisi tu stesso). Leggi di più su questo nella nostra Politica sulla privacy.

D: Chi ha creato Defold?

R: Defold è stato creato da Ragnar Svensson e Christian Murray. Hanno iniziato a lavorare sul motore, sull’editor e sui server nel 2009. King e Defold hanno iniziato una partnership nel 2013 e King ha acquisito Defold nel 2014. Leggi la storia completa qui.

D: Posso creare giochi 3D in Defold?

R: Assolutamente! Il motore è un vero e proprio motore 3D. Tuttavia, gli strumenti sono progettati per il 2D, quindi dovrai fare molto lavoro manuale. È previsto un miglior supporto per il 3D.

D: Quale linguaggio di programmazione utilizzo in Defold?

R: La logica di gioco nel tuo progetto Defold è scritta principalmente utilizzando il linguaggio Lua (specificamente Lua 5.1/LuaJIT, consulta il manuale Lua per i dettagli). Lua è un linguaggio dinamico leggero che è veloce e molto potente. Puoi anche utilizzare codice nativo (C/C++, Objective-C, Java e JavaScript a seconda della piattaforma) per estendere il motore Defold con nuove funzionalità. Quando crei materiali personalizzati, viene utilizzato il linguaggio shader OpenGL ES SL per scrivere vertex e fragment shaders.

Domande sulla piattaforma

D: Su quali piattaforme gira Defold?

R: Le seguenti piattaforme sono supportate per l’editor/strumenti e il runtime del motore:

Sistema Versione Architetture Supportato
macOS 11 Big Sur x86-64, arm-64 Editor
macOS 10.15 x86-64, arm-64 Motore
Windows Vista x86-32, x86-64 Editor e Motore
Ubuntu (1) 18.04 x86-64 Editor
Linux (2) Qualsiasi x86-64, arm-64 Motore
iOS 11.0 arm-64 Motore
Android 4.4 (API level 19) arm-32, arm-64 Motore
HTML5   asm.js, wasm Motore

(1 L’editor è costruito e testato per Ubuntu 18.04 a 64 bit. Dovrebbe funzionare anche su altre distribuzioni ma non diamo garanzie.)

(2 Il runtime del motore dovrebbe funzionare sulla maggior parte delle distribuzioni Linux a 64 bit purché i driver grafici siano aggiornati, vedi sotto per ulteriori informazioni sulle API grafiche)

D: Su quali piattaforme posso sviluppare giochi con Defold?

R: Con un solo clic puoi pubblicare su PS4™, Nintendo Switch, iOS, Android e HTML5, oltre che su macOS, Windows e Linux. È davvero una base di codice unica con più piattaforme supportate.

D: Su quale API di rendering si basa Defold?

R: Come sviluppatore devi preoccuparti solo di una singola API di rendering utilizzando una pipeline di rendering completamente scriptabile. L’API di script di rendering di Defold traduce le operazioni di rendering nelle seguenti API grafiche:

System Graphics API Note
macOS OpenGL 3.3 or Metal Vulkan via MoltenVK
Windows OpenGL 3.3 or Vulkan 1.1  
Linux OpenGL 3.3 or Vulkan 1.1  
Android OpenGLES 3.0 or Vulkan 1.1 Fallback to OpenGLES 2.0
iOS OpenGLES 3.0 or Metal Vulkan via MoltenVK
HTML5 WebGL 2.0 or WebGPU Fallback to WebGL 1.0

D: C’è un modo per sapere quale versione sto usando?

R: Sì, seleziona l’opzione “Informazioni” nel menu Aiuto. Il popup mostra chiaramente la versione beta di Defold e, più importante, lo specifico SHA1 di rilascio. Per il lookup della versione runtime, usa sys.get_engine_info().

L’ultima versione beta disponibile per il download da http://d.defold.com/beta può essere verificata aprendo http://d.defold.com/beta/info.json (lo stesso file esiste anche per le versioni stabili: http://d.defold.com/stable/info.json)

D: C’è un modo per sapere su quale piattaforma sta girando il gioco a runtime?

R: Sì, consulta sys.get_sys_info().

Domande sull’editor

Q: What are the system requirements for the editor?

A: The editor will use up to 75% of the available memory of the system. On a computer with 4 GB of RAM this should be enough for smaller Defold projects. For mid-sized or large projects it is recommended to use 6 GB or more of RAM.

Q: Are Defold beta versions auto-updating?

A: Yes. The Defold beta editor checks for an update at startup, just like the Defold stable version does.

Q: Why am I getting an error saying java.awt.AWTError: Assistive Technology not found when launching the editor?

A: This error is related to problems with Java assistive technology such as the NVDA screen reader. You probably have an .accessibility.properties file in your home folder. Remove the file and try launching the editor again. (Note: If you do use any assistive technology and require that file to be present then please reach out to us at info@defold.se to discuss alternative solutions).

Discussed here on the Defold forum.

Q: Why am I getting an error saying sun.security.validator.ValidatorException: PKIX path building failed when launching the editor?

A: This exception occurs when the editor tries to make an https connection but the certificate chain provided by the server cannot be verified.

See this link for details on this error.

Q: Why am I am getting a java.lang.OutOfMemoryError: Java heap space when performing certain operations?

A: The Defold editor is built using Java and in some cases the default memory configuration of Java might not be sufficient. If this happens you can manually configure the editor to allocate more memory by editing the editor configuration file. The configuration file, named config, is located in the Defold.app/Contents/Resources/ folder on macOS. On Windows it is located next to Defold.exe executable and on Linux next to the Defold executable. Open the config file and add -Xmx6gb to the line starting with vmargs. Adding -Xmx6gb will set the max heap size to 6 gigabytes (the default is usually 4Gb). It should look something like this:

vmargs = -Xmx6gb,-Dfile.encoding=UTF-8,-Djna.nosys=true,-Ddefold.launcherpath=${bootstrap.launcherpath},-Ddefold.resourcespath=${bootstrap.resourcespath},-Ddefold.version=${build.version},-Ddefold.editor.sha1=${build.editor_sha1},-Ddefold.engine.sha1=${build.engine_sha1},-Ddefold.buildtime=${build.time},-Ddefold.channel=${build.channel},-Ddefold.archive.domain=${build.archive_domain},-Djava.net.preferIPv4Stack=true,-Dsun.net.client.defaultConnectTimeout=30000,-Dsun.net.client.defaultReadTimeout=30000,-Djogl.texture.notexrect=true,-Dglass.accessible.force=false,--illegal-access=warn,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.desktop/sun.awt=ALL-UNNAMED,--add-opens=java.desktop/sun.java2d.opengl=ALL-UNNAMED,--add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED

Domande su Linux

Q: Why is the Defold editor super small when run on a 4k or HiDPI monitor when using GNOME?

A: Change the scaling factor before running Defold. source

$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold

A: An alternative solution, especially when you wish to scale up by a fraction, is to modify the Defold/config file and on the vmargs line add glass.gtk.uiScale: source

vmargs = -Dglass.gtk.uiScale=1.5,-Dfile.encoding=UTF-8,...
vmargs = -Dglass.gtk.uiScale=175%,-Dfile.encoding=UTF-8,...
vmargs = -Dglass.gtk.uiScale=192dpi,-Dfile.encoding=UTF-8,...

More on this value in the Arch Linux HiDPI wiki article.

Q: Why does mouse clicks on Elementary OS go through the editor onto whatever is below?

A: Start the editor like this:

$ GTK_CSD=0 ./Defold

Q: The Defold editor crashes when opening a collection or game object and the crash refers to com.jogamp.opengl

A: On certain distributions (like Ubuntu 18) there is an issue with the version of jogamp/jogl Defold uses vs. the version of Mesa on the system. You can override which GL version that gets reported when calling glGetString(GL_VERSION) by setting the MESA_GL_VERSION_OVERRIDE to 2.1 or a larger value but less than or equal to the version of your driver. You can check which is the maximum OpenGL version your driver supports using glxinfo:

glxinfo | grep version

Example output (look for “OpenGL version string: x.y”):

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.2.6
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.2.6
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,

Use version 2.1 or version matching your graphics driver:

$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold

Q: Why am I getting “com.jogamp.opengl.GLException: Graphics configuration failed” when launching Defold?

A: On certain distributions (for instance Ubuntu 20.04) there is an issue with the new Mesa drivers (Iris) when running Defold. You can try using an older driver version when running Defold:

$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold

Q: The Defold editor crashes when opening a collection or game object and the crash refers to libffi.so

A: The libffi version of your distribution and the one required by Defold (version 6 or 7) does not match. Make sure libffi.so.6 or libffi.so.7 is installed under /usr/lib/x86_64-linux-gnu. You can download libffi.so.7 like this:

$ wget http://ftp.br.debian.org/debian/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb
$ sudo dpkg -i libffi7_3.3-6_amd64.deb

Next you specify the path to this version in the LD_PRELOAD environment variable when running Defold:

$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold

Q: My OpenGL drivers are outdated. Can I still use Defold?

A: Yes, it might be possible to use Defold if you enable software rendering. You can enable software rendering by setting the LIBGL_ALWAYS_SOFTWARE environment variable to 1:

$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold

Q: Why doesn’t my Defold game start when I try to run it on Linux?

A: Check the console output in the editor. If you get the following message:

dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory

Then you need to install libopenal1. The package name varies between distributions, and in some cases you might have to install the openal and openal-dev or openal-devel packages.

$ apt-get install libopenal-dev

Q: Why does the top menu close before I can select something?

A: This is likely caused by the window manager used (for instance Qtile or i3). This is a known issue in JavaFX and it can either be solved by setting the GDK_DISPLAY environment variable to 1:¨

$ GDK_DISPLAY=1 ./Defold

D=2

Or by modifying the Defold/config file and on the vmargs line add -Djdk.gtk.version=2:

vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...

Q: Why am I not able to browse all available file locations when I select Open From Disk?

A: If you are running Defold from Steam using Flatpak you need to give Steam permission to access your other drives. You can modify the permissions of your Flatpak applications using Flatseal or similar tool.

Q: Why am I not able to open the web profiler or any other menu option which requires a browser?

A: It is likely that an internal call to Desktop.getDesktop().browse(new URI(url)); fails since no browser is detected on non-Gnome systems. Try installing libgnome.

$ apt-get install libgnome

Domande su Android

Q: Is it possible to hide the navigation and status bars on Android?

A: Yes, set the immersive_mode setting in the Android section of your game.project file. This lets your app take over the whole screen and capture all touch events on the screen.

Q: Why am I’m getting “Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]” when installing a Defold game on device?

A: Android detects that you try to install the app with a new certificate. When bundling debug builds, each build will be signed with a temporary certificate. Uninstall the old app before installing the new version:

$ adb uninstall com.defold.examples
Success
$ adb install Defold\ examples.apk
4826 KB/s (18774344 bytes in 3.798s)
      pkg: /data/local/tmp/Defold examples.apk
Success

Q: Why am I getting errors about conflicting properties in AndroidManifest.xml when building with certain extensions?

A: This can happen when two or more extensions provide an Android Manifest stub containing the same property tag but with different values. This has for instance happened with Firebase and AdMob. The build error looks similar to this:

SEVERE: /tmp/job4531953598647135356/upload/AndroidManifest.xml:32:13-58
Error: Attribute property#android.adservices.AD_SERVICES_CONFIG@resource
value=(@xml/ga_ad_services_config) from AndroidManifest.xml:32:13-58 is also
present at AndroidManifest.xml:92:13-59 value=(@xml/gma_ad_services_config).
Suggestion: add 'tools:replace="android:resource"' to <property> element at
AndroidManifest.xml to override. 

You can read more about the issue and the workaround in reported Defold issue #9453 and Google issue #327696048.

Domande su HTML5

Q: Why does my HTML5-app freeze at the splash screen in Chrome?

A: In some cases it is not possible to run a game in the browser locally from the filesystem. Running from the editor serves the game from a local web server. You can, for instance, use SimpleHTTPServer in Python:

$ python -m SimpleHTTPServer [port]

Q: Why does my game crash with error “Unexpected data size” while loading?

A: This usually happens when you are using Windows and make a build and commit it to Git. If you have the wrong line-ending configuration in Git it will change your line endings and thus also the data size. Follow these instructions to solve the problem: https://docs.github.com/en/free-pro-team@latest/github/using-git/configuring-git-to-handle-line-endings

Domande su iOS

Q: I am unable to install my Defold game using a free Apple Developer account.

A: Make sure that you are using the same bundle identifier in your Defold project as you used in the Xcode project when you generated the mobile provisioning profile.

Q: How can I check the entitlements of a bundled application?

A: From Inspect the entitlements of a built app:

codesign -d --ent :- /path/to/the.app

Q: How can I check the entitlements of a provisioning profile

A: From Inspecting a profile’s entitlements:

security cms -D -i /path/to/iOSTeamProfile.mobileprovision

Domande su Windows

Q: Why are GUI box nodes without a texture transparent in the editor but show up as expected when I build and run?

A: This error can happen on computers using AMD Radeon GPUs. Make sure to update your graphics drivers.

Q: Why am I getting com.sun.jna.Native.open.class java.lang.Error: Access is denied when opening an atlas or a scene view?

A: Try running Defold as administrator. Right-click on the Defold executable and select “Run as Administrator”.

Q: Why is my game not rendering properly on Windows using an Intel UHD integrated GPU (but my HTML5 build works)?

A: Make sure to update your driver to a version higher than or equal to 27.20.100.8280. Check with the Intel Driver Support Assistant. Additional information can be found in this forum post.

Q: The Defold editor is crashing and the log shows AWTError: Assistive Technology not found

If the editor crashes with a log mentioning Caused by: java.awt.AWTError: Assistive Technology not found: com.sun.java.accessibility.AccessBridge then follow these steps:

  • Navigate to C:\Users\<username>
  • Open the file called .accessibility.properties using a standard text editor (Notepad is fine)
  • Find the following lines in the config:
assistive_technologies=com.sun.java.accessibility.AccessBridge
screen_magnifier_present=true
  • Add a hash mark (#`) in front of theses lines
  • Save your changes to the file and restart Defold

Domande su Console

Q: Do I need to install additional tools to build for consoles?

A: You will be able to create application bundles from the editor and command line tools. Information about how to test on PlayStation®4, PlayStation®5 and Nintendo Switch hardware will be provided to you when you are given access to the respective platforms.

Q: Is it still easy to use a single code base if I decide to also target consoles?

A: Yes, all of the standard Defold API functions are available also for the console platforms. In addition to the standard functionality you will also have access to a couple of PlayStation®4, PlayStation®5 and Nintendo Switch specific functions, but in general the code should be able to remain exactly the same across multiple platforms.

Pubblicazione di giochi

D: Sto cercando di pubblicare il mio gioco su AppStore. Come dovrei rispondere a IDFA?

R: Quando invii, Apple ha tre caselle di controllo per i loro tre casi d’uso validi per l’IDFA:

  1. Servire annunci all’interno dell’app
  2. Attribuzione dell’installazione dagli annunci
  3. Attribuzione delle azioni dell’utente dagli annunci

Se selezioni l’opzione 1, il revisore dell’app cercherà annunci da mostrare nell’app. Se il tuo gioco non mostra annunci, il gioco potrebbe essere rifiutato. Defold stesso non utilizza l’ID pubblicitaria.

D: Come posso monetizzare il mio gioco?

R: Defold supporta acquisti in-app e varie soluzioni pubblicitarie. Controlla la categoria Monetizzazione nel portale delle risorse per un elenco aggiornato delle opzioni di monetizzazione disponibili.

Errori usando Defold

D: Non riesco ad avviare il gioco e non c’è alcun errore di build. Cosa c’è di sbagliato?

R: Il processo di build può non riuscire a ricostruire i file in rari casi in cui ha precedentemente incontrato errori di build che hai risolto. Forza una ricostruzione completa selezionando Progetto > Ricostruisci e avvia dal menu.

Contenuto del gioco

D: Defold supporta i prefab?

R: Sì, li supporta. Si chiamano collections. Ti permettono di creare gerarchie complesse di oggetti di gioco e memorizzarli come blocchi separati che puoi istanziare nell’editor o a runtime (tramite il caricamento di collezioni). Per i nodi GUI c’è supporto per i modelli GUI.

D: Non riesco ad aggiungere un oggetto di gioco come figlio di un altro oggetto di gioco, perché?

R: Probabilmente stai cercando di aggiungere un figlio nel file dell’oggetto di gioco e ciò non è possibile. Per capire perché, devi ricordare che le gerarchie genitore-figlio sono strettamente una gerarchia di trasformazione del scene-graph. Un oggetto di gioco che non è stato posizionato (o generato) in una scena (collezione) non fa parte di un scene-graph e quindi non può far parte di una gerarchia scene-graph.

D: Perché non posso inviare messaggi a tutti i figli di un oggetto di gioco?

R: Le relazioni genitore-figlio non esprimono altro che le relazioni di trasformazione del scene-graph e non devono essere confuse con gli aggregati di orientamento agli oggetti. Se ti concentri sui dati del tuo gioco e su come trasformarli al meglio mentre il tuo gioco cambia stato, troverai probabilmente meno bisogno di inviare messaggi con dati di stato a molti oggetti tutto il tempo. Nei casi in cui avrai bisogno di gerarchie di dati, queste sono facilmente costruite e gestite in Lua.

D: Perché sto riscontrando artefatti visivi attorno ai bordi dei miei sprite?

R: Questo è un artefatto visivo chiamato “edge bleeding” in cui i pixel di bordo dei pixel adiacenti in un atlas si mescolano nell’immagine assegnata al tuo sprite. La soluzione è imbottire il bordo delle tue immagini dell’atlas con righe e colonne extra di pixel identici. Fortunatamente questo può essere fatto automaticamente dall’editor di atlas in Defold. Apri il tuo atlas e imposta il valore Extrude Borders su 1.

D: Posso tingere i miei sprite o renderli trasparenti, o devo scrivere il mio shader per farlo?

R: Lo shader sprite integrato che viene utilizzato per impostazione predefinita per tutti gli sprite ha una costante “tint” definita:

  local red = 1
  local green = 0.3
  local blue = 0.55
  local alpha = 1
  go.set("#sprite", "tint", vmath.vector4(red, green, blue, alpha))

D: Se imposto la coordinata z di uno sprite a 100, non viene renderizzato. Perché?

R: La posizione Z di un oggetto di gioco controlla l’ordine di rendering. I valori bassi vengono disegnati prima dei valori alti. Nello script di rendering predefinito, gli oggetti di gioco con una profondità compresa tra -1 e 1 vengono disegnati, qualsiasi valore inferiore o superiore non verrà disegnato. Puoi leggere di più sullo script di rendering nella documentazione ufficiale Render. Sui nodi GUI il valore Z viene ignorato e non influisce sull’ordine di rendering. Invece, i nodi vengono renderizzati nell’ordine in cui sono elencati e secondo le gerarchie di figli (e i livelli). Leggi di più sul rendering GUI e sull’ottimizzazione delle chiamate di disegno utilizzando i livelli nella documentazione ufficiale GUI.

D: Cambiare l’intervallo di proiezione della vista Z a -100 a 100 influirebbe sulle prestazioni?

R: No. L’unico effetto è la precisione. Il buffer Z è logaritmico e ha una risoluzione molto fine dei valori Z vicini a 0 e meno risoluzione lontano da 0. Ad esempio, con un buffer a 24 bit i valori 10.0 e 10.000005 possono essere differenziati mentre 10000 e 10005 no.

D: Non c’è coerenza su come sono rappresentati gli angoli, perché?

R: In realtà c’è coerenza. Gli angoli sono espressi in gradi ovunque nell’editor e nelle API di gioco. Le librerie matematiche utilizzano i radianti. Attualmente la convenzione si interrompe per la proprietà fisica angular_velocity che è attualmente espressa in radianti/s. Ci si aspetta che cambi.

D: Quando creo un nodo di una GUI con solo colore (senza texture), come verrà renderizzato?

R: È semplicemente una forma colorata con vertici. Tieni presente che costerà comunque in termini di fill-rate.

D: Se cambio le risorse al volo, il motore le scaricherà automaticamente?

R: Tutte le risorse sono conteggiate internamente. Non appena il conteggio delle referenze è zero, la risorsa viene rilasciata.

D: È possibile riprodurre l’audio senza l’uso di un componente audio collegato a un oggetto di gioco?

R: Tutto è basato su componenti. È possibile creare un oggetto di gioco senza testa con più suoni e riprodurre i suoni inviando messaggi all’oggetto controller del suono.

D: È possibile cambiare il file audio associato a un componente audio a runtime?

R: In generale tutte le risorse sono dichiarate staticamente con il vantaggio che ottieni la gestione delle risorse gratuitamente. Puoi usare le proprietà delle risorse per cambiare quale risorsa è assegnata a un componente.

D: C’è un modo per accedere alle proprietà delle forme di collisione della fisica?

R: No, attualmente non è possibile.

D: C’è un modo rapido per visualizzare gli oggetti di collisione nella mia scena? (come il debugdraw di Box2D)

R: Sì, imposta il flag physics.debug in game.project. (Consulta la documentazione ufficiale Project settings)

D: Quali sono i costi in termini di prestazioni per avere molti contatti/collisioni?

R: Defold esegue una versione modificata di Box2D in background e il costo delle prestazioni dovrebbe essere abbastanza simile. Puoi sempre vedere quanto tempo il motore trascorre sulla fisica aprendo il profilatore. Dovresti anche considerare quale tipo di oggetti di collisione utilizzi. Gli oggetti statici sono più economici in termini di prestazioni, ad esempio. Consulta la documentazione ufficiale Physics in Defold per ulteriori dettagli.

D: Qual è l’impatto sulle prestazioni di avere molti componenti di effetti particellari?

R: Dipende se stanno suonando o meno. Un ParticleFx che non sta suonando non ha alcun costo in termini di prestazioni. L’impatto sulle prestazioni di un ParticleFx in riproduzione deve essere valutato utilizzando il profilatore poiché il suo impatto dipende da come è configurato. Come per la maggior parte delle altre cose, la memoria è allocata in anticipo per il numero di ParticleFx definito come max_count in game.project.

D: Come ricevo input su un oggetto di gioco all’interno di una collezione caricata tramite un proxy di collezione?

R: Ogni collezione caricata tramite proxy ha il proprio stack di input. L’input viene instradato dallo stack di input della collezione principale tramite il componente proxy agli oggetti nella collezione. Ciò significa che non basta che l’oggetto di gioco nella collezione caricata acquisisca il focus dell’input, l’oggetto di gioco che detiene il componente proxy deve acquisire anche il focus dell’input. Consulta la documentazione Input per i dettagli.

D: Posso utilizzare proprietà di tipo stringa negli script?

R: No. Defold supporta proprietà di tipo hash. Queste possono essere utilizzate per indicare tipi, identificatori di stato o chiavi di qualsiasi tipo. Gli hash possono anche essere utilizzati per memorizzare ID degli oggetti di gioco (percorsi) sebbene le proprietà url siano spesso preferibili poiché l’editor popola automaticamente un menu a discesa con gli URL rilevanti per te. Consulta la documentazione Script properties per i dettagli.

D: Come accedo alle singole celle di una matrice (creata usando vmath.matrix4() o simile)?

R: Accedi alle celle usando mymatrix.m11, mymatrix.m12, mymatrix.m21 ecc

D: Sto ricevendo Not enough resources to clone the node quando uso gui.clone() o gui.clone_tree()

R: Aumenta il valore Max Nodes del componente GUI. Trovi questo valore nel pannello Proprietà quando selezioni la radice del componente nel Riepilogo.

Il forum

D: Posso pubblicare un thread dove pubblicizzo il mio lavoro?

R: Certamente! Abbiamo una categoria speciale “Work for hire” per questo. Incoraggeremo sempre tutto ciò che beneficia la comunità, e offrire i tuoi servizi alla comunità—a pagamento o meno—è un buon esempio di ciò.

D: Ho creato un thread e aggiunto il mio lavoro: posso aggiungerne di più?

R: Per ridurre il bumping dei thread “Work for hire”, non puoi pubblicare più di una volta ogni 14 giorni nel tuo thread (a meno che non sia una risposta diretta a un commento nel thread, nel qual caso puoi rispondere). Se vuoi aggiungere ulteriori lavori al tuo thread entro il periodo di 14 giorni, devi modificare i tuoi post esistenti con il contenuto aggiunto.

D: Posso utilizzare la categoria Work for Hire per pubblicare offerte di lavoro?

R: Certo, sentiti libero! Può essere utilizzata sia per offerte che per richieste, ad esempio “Programmatore cerca artista pixel 2D; sono ricco e ti pagherò bene”.