Відповідь: Так, рушій і редактор Defold з усіма можливостями цілком безкоштовні. Жодних прихованих витрат, платежів або роялті. Просто безкоштовно.
Відповідь: Одна з цілей Defold Foundation — забезпечити доступність програмного забезпечення Defold для розробників у всьому світі та безкоштовний доступ до його вихідного коду.
Відповідь: Ми віддані розвитку Defold. Defold Foundation створено так, щоб гарантовано залишатися відповідальним власником Defold ще багато років. Організація нікуди не зникне.
Відповідь: Безумовно. Defold використовує дедалі більше професійних розробників ігор та ігрових студій. Перегляньте добірку ігор, щоб побачити приклади ігор, створених за допомогою Defold.
Відповідь: Ми збираємо анонімні дані про використання наших вебсайтів і редактора Defold, щоб покращувати сервіси та продукт. В іграх, які ви створюєте, користувачів не відстежують (якщо ви самі не додасте сервіс аналітики). Докладніше про це читайте в нашій політиці конфіденційності.
Відповідь: Defold створили Ragnar Svensson і Christian Murray. Вони почали працювати над рушієм, редактором і серверами у 2009 році. Партнерство King і Defold розпочалося у 2013 році, а у 2014 році King придбала Defold. Повну історію читайте тут.
Відповідь: Звісно! Це повноцінний 3D-рушій. Однак набір інструментів орієнтований на 2D, тому багато складної роботи доведеться виконувати самостійно. Заплановано покращити підтримку 3D.
Відповідь: Ігрову логіку в проєкті Defold переважно пишуть мовою Lua (а саме Lua 5.1/LuaJIT, докладніше див. у посібнику з Lua). Lua — легка динамічна мова, швидка й дуже потужна. Defold підтримує транспілятори, які генерують код Lua. Установивши розширення транспілятора, ви можете використовувати альтернативні мови, як-от Teal, щоб писати код Lua зі статичною перевіркою. Також можна використовувати нативний код (C/C++, Objective-C, Java та JavaScript залежно від платформи), щоб розширювати рушій Defold новими можливостями. Під час створення власних матеріалів для написання вершинних і фрагментних шейдерів використовують мову шейдерів OpenGL ES SL.
Відповідь: Підтримка C++ у Defold призначена переважно для написання нативних розширень, які взаємодіють зі сторонніми SDK або API певних платформ. dmSDK (API C++ для Defold, який використовують у нативних розширеннях) поступово доповнюватиметься новими можливостями, щоб за бажання розробник міг написати всю ігрову логіку на C++. Lua залишиться основною мовою ігрової логіки, але розширений API C++ також дасть змогу писати її на C++. Робота над розширенням API C++ переважно полягає в перенесенні наявних приватних заголовкових файлів до публічної частини та впорядкуванні API для загального використання.
Відповідь: TypeScript офіційно не підтримується. Спільнота підтримує набір інструментів ts-defold, за допомогою якого можна писати код TypeScript і транспілювати його в Lua безпосередньо у VSCode.
Відповідь: Haxe офіційно не підтримується. Спільнота підтримує hxdefold для написання коду Haxe та його транспіляції в Lua.
Відповідь: Defold Foundation додала підтримку C# і зробила її доступною як бібліотечну залежність. C# — поширена мова програмування, і її підтримка допоможе перейти на Defold студіям та розробникам, які значною мірою покладаються на C#.
Defold НЕ відмовляється від Lua як основної мови скриптів. C# додано як нову мову для розширень. Це не вплине на рушій, якщо ви не вирішите використовувати розширення C# у своєму проєкті.
Підтримка C# матиме свою ціну (розмір виконуваного файлу, продуктивність під час виконання тощо), але це рішення кожен розробник або студія ухвалює самостійно.
Що стосується самого C#, це порівняно невелика зміна, адже система розширень уже підтримує багато мов (C/C++/Java/Objective-C/Zig). SDK узгоджуватимуться завдяки генеруванню прив’язок C#. Це дасть змогу підтримувати їх актуальними з мінімальними зусиллями.
Раніше Defold Foundation виступала проти додавання підтримки C# у Defold, але змінила думку з кількох причин:
Відповідь: Редактор, інструменти та середовище виконання рушія підтримують такі платформи:
| Система | Версія | Архітектури | Підтримка |
|---|---|---|---|
| macOS | 11 Big Sur | x86-64, arm-64 |
Редактор і рушій |
| Windows | Vista | x86-32, x86-64 |
Редактор і рушій |
| Ubuntu (1) | 22.04 LTS | x86-64 |
Редактор |
| Linux (2) | Будь-яка | x86-64, arm-64 |
Рушій |
| iOS | 15.0 | arm-64 x86_64 |
Рушій |
| Android | 5.0 (рівень API 21) | arm-32, arm-64 |
Рушій |
| HTML5 | wasm-web, wasm_pthread-web |
Рушій |
(1 Редактор збирають і тестують для 64-бітної Ubuntu. Він має працювати й на інших дистрибутивах, але ми не даємо гарантій.)
(2 Середовище виконання рушія має працювати на більшості 64-бітних дистрибутивів Linux, якщо графічні драйвери оновлені. Докладніше про графічні API див. нижче.)
Відповідь: Одним клацанням можна опублікувати гру для PS4™, PS5™, Nintendo Switch, iOS (64-бітної), Android (32-бітної та 64-бітної) і HTML5, а також macOS (x86-64 та arm64), Windows (32-бітної та 64-бітної) і Linux (x86-64 та arm64). Це справді єдина кодова база з підтримкою багатьох платформ.
Відповідь: Розробнику достатньо працювати з єдиним API рендерингу через повністю керований скриптами конвеєр рендерингу. API скриптів рендерингу Defold перетворює операції рендерингу на виклики таких графічних API:
| Система | Графічний API | Примітка |
|---|---|---|
| macOS | OpenGL 3.3 або Metal | Vulkan через MoltenVK |
| Windows | OpenGL 3.3 або Vulkan 1.1 | |
| Linux x86-64 | OpenGL 3.3 або Vulkan 1.1 | |
| Linux ARM64 | OpenGL ES або Vulkan 1.1 | Типово використовується EGL/GLES |
| Android | OpenGLES 3.0 або Vulkan 1.1 | Резервний варіант — OpenGLES 2.0 |
| iOS | OpenGLES 3.0 або Metal | Vulkan через MoltenVK |
| HTML5 | WebGL 2.0 або WebGPU | Резервний варіант — WebGL 1.0 |
Відповідь: Так, виберіть пункт «About» у меню Help. У спливному вікні чітко вказано бета-версію Defold і, що важливіше, SHA1 конкретного випуску. Щоб визначити версію під час виконання, використовуйте sys.get_engine_info().
Номер найновішої бета-версії, доступної для завантаження з http://d.defold.com/beta, можна перевірити, відкривши http://d.defold.com/beta/info.json (такий самий файл є й для стабільних версій: http://d.defold.com/stable/info.json).
Відповідь: Так, див. sys.get_sys_info().
Відповідь: Редактор використовуватиме до 75% доступної системної пам’яті. На комп’ютері з 4 ГБ оперативної пам’яті цього має вистачити для невеликих проєктів Defold. Для середніх і великих проєктів рекомендовано 6 ГБ оперативної пам’яті або більше.
Відповідь: Так. Бета-версія редактора Defold перевіряє наявність оновлень під час запуску, як і стабільна версія Defold.
java.awt.AWTError: Assistive Technology not found?
Відповідь: Ця помилка пов’язана з проблемами допоміжних технологій Java, як-от засобу читання з екрана NVDA. Імовірно, у вашій домашній папці є файл .accessibility.properties. Видаліть його та спробуйте запустити редактор знову. (Примітка: якщо ви використовуєте допоміжні технології й цей файл вам потрібен, напишіть нам на info@defold.se, щоб обговорити інші способи розв’язання проблеми).
Обговорення є в цій темі на форумі Defold.
sun.security.validator.ValidatorException: PKIX path building failed?
Відповідь: Цей виняток виникає, коли редактор намагається встановити з’єднання HTTPS, але не може перевірити ланцюжок сертифікатів, наданий сервером.
Докладніше про цю помилку див. за цим посиланням.
java.lang.OutOfMemoryError: Java heap space?
Відповідь: Редактор Defold створено за допомогою Java, і в деяких випадках стандартних налаштувань пам’яті Java може бути недостатньо. Якщо це сталося, ви можете вручну налаштувати редактор на виділення більшого обсягу пам’яті, відредагувавши його файл конфігурації. У macOS файл конфігурації з назвою config розташований у папці Defold.app/Contents/Resources/. У Windows він розташований поруч із виконуваним файлом Defold.exe, а в Linux — поруч із виконуваним файлом Defold. Відкрийте файл config і додайте -Xmx6gb до рядка, що починається з vmargs. Додавання -Xmx6gb задає максимальний розмір купи пам’яті 6 гігабайтів (за замовчуванням зазвичай 4 ГБ). Результат має виглядати приблизно так:
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
Відповідь: Якщо ви використовуєте GNOME, можна змінити коефіцієнт масштабування перед запуском Defold. Джерело
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
Відповідь: Інший спосіб, особливо якщо потрібен дробовий коефіцієнт збільшення, — змінити файл Defold/config, додавши glass.gtk.uiScale до рядка vmargs: джерело
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,...
Докладніше про це значення див. у статті вікі Arch Linux про HiDPI.
Відповідь: Якщо ви використовуєте KDE, можна задати GDK_SCALE:
$ GDK_SCALE=2 ./Defold
Відповідь: Запустіть редактор так:
$ GTK_CSD=0 ./Defold
com.jogamp.opengl
Відповідь: У деяких дистрибутивах (як-от Ubuntu 18) є проблема сумісності версії jogamp/jogl, яку використовує Defold, з версією Mesa у системі. Ви можете перевизначити версію GL, яку повертає виклик glGetString(GL_VERSION), задавши для MESA_GL_VERSION_OVERRIDE значення 2.1 або більше, але не вище версії, яку підтримує ваш драйвер. Перевірити максимальну версію OpenGL, яку підтримує драйвер, можна за допомогою glxinfo:
glxinfo | grep version
Приклад виведення (шукайте «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,
Використовуйте версію 2.1 або версію, що відповідає вашому графічному драйверу:
$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold
com.jogamp.opengl.GLException: Graphics configuration failed»?
Відповідь: У деяких дистрибутивах (наприклад, Ubuntu 20.04) під час роботи Defold виникає проблема з новими драйверами Mesa (Iris). Ви можете спробувати запустити Defold зі старішою версією драйвера:
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
libffi.so
Відповідь: Версія libffi у вашому дистрибутиві не відповідає тій, яку потребує Defold (версія 6 або 7). Переконайтеся, що libffi.so.6 або libffi.so.7 встановлено в /usr/lib/x86_64-linux-gnu. Ви можете завантажити libffi.so.7 так:
$ 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
Далі під час запуску Defold вкажіть шлях до цієї версії у змінній середовища LD_PRELOAD:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold
Відповідь: Так, можливо, ви зможете користуватися Defold, якщо ввімкнете програмний рендеринг. Для цього задайте змінній середовища LIBGL_ALWAYS_SOFTWARE значення 1:
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
Відповідь: Перевірте виведення консолі в редакторі. Якщо ви бачите таке повідомлення:
dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
то потрібно встановити libopenal1. Назва пакета залежить від дистрибутива, і в деяких випадках може знадобитися встановити пакети openal та openal-dev або openal-devel.
$ apt-get install libopenal-dev
Відповідь: Імовірно, це спричинено віконним менеджером, який ви використовуєте (наприклад, Qtile або i3). Це відома проблема JavaFX, яку можна розв’язати, задавши змінній середовища GDK_DISPLAY значення 1:
$ GDK_DISPLAY=1 ./Defold
D=2
Або змінивши файл Defold/config і додавши -Djdk.gtk.version=2 до рядка vmargs:
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
Відповідь: Якщо ви запускаєте Defold зі Steam, встановленого через Flatpak, потрібно надати Steam дозвіл на доступ до інших дисків. Змінити дозволи застосунків Flatpak можна за допомогою Flatseal або подібного засобу.
Відповідь: Імовірно, внутрішній виклик Desktop.getDesktop().browse(new URI(url)); завершується помилкою, оскільки в системах без GNOME браузер не виявляється. Спробуйте встановити libgnome.
$ apt-get install libgnome
В: Так, увімкніть налаштування immersive_mode у розділі Android файлу game.project. Це дасть вашому застосунку змогу зайняти весь екран і перехоплювати всі події дотику на екрані.
В: Android виявляє спробу встановити застосунок із новим сертифікатом. Під час пакування налагоджувальних збірок кожну збірку підписують тимчасовим сертифікатом. Видаліть старий застосунок перед установленням нової версії:
$ 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
В: Це може статися, коли два або більше розширень надають фрагменти маніфесту Android з однаковим тегом властивості, але різними значеннями. Наприклад, таке траплялося з Firebase та AdMob. Помилка збирання має приблизно такий вигляд:
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.
Докладніше про проблему та спосіб її обходу можна прочитати в повідомленні про проблему Defold #9453 і повідомленні про проблему Google #327696048.
В: У деяких випадках гру неможливо запустити в браузері безпосередньо з локальної файлової системи. Під час запуску з редактора гра обслуговується локальним вебсервером. Ви можете, наприклад, скористатися SimpleHTTPServer у Python:
$ python -m SimpleHTTPServer [port]
В: Зазвичай це трапляється, коли ви створюєте збірку у Windows і додаєте її до Git. Якщо завершення рядків у Git налаштовано неправильно, Git змінюватиме їх, а отже, і розмір даних. Щоб розв’язати проблему, дотримуйтеся цих інструкцій: https://docs.github.com/en/free-pro-team@latest/github/using-git/configuring-git-to-handle-line-endings
В: Переконайтеся, що ідентифікатор пакета у вашому проєкті Defold збігається з ідентифікатором у проєкті Xcode, який ви використовували для створення мобільного профілю підготовки.
В: Із розділу «Перевірка прав доступу зібраного застосунку»:
codesign -d --ent :- /path/to/the.app
В: Із розділу «Перевірка прав доступу профілю»:
security cms -D -i /path/to/iOSTeamProfile.mobileprovision
Відповідь: Ця помилка може виникати на комп’ютерах із графічними процесорами AMD Radeon. Обов’язково оновіть графічні драйвери.
com.sun.jna.Native.open.class java.lang.Error: Access is denied?
Відповідь: Спробуйте запустити Defold від імені адміністратора. Клацніть виконуваний файл Defold правою кнопкою миші та виберіть «Run as Administrator».
Відповідь: Обов’язково оновіть драйвер до версії 27.20.100.8280 або новішої. Перевірте його за допомогою Intel Driver Support Assistant. Додаткову інформацію наведено в цьому дописі на форумі.
AWTError: Assistive Technology not found
Якщо редактор аварійно завершує роботу, а в журналі згадано Caused by: java.awt.AWTError: Assistive Technology not found: com.sun.java.accessibility.AccessBridge, виконайте такі кроки:
C:\Users\<username>.accessibility.properties у звичайному текстовому редакторі (підійде Notepad)assistive_technologies=com.sun.java.accessibility.AccessBridge
screen_magnifier_present=true
#) на початку цих рядківВ: Ви зможете створювати пакети застосунків у редакторі та за допомогою засобів командного рядка. Інформацію про тестування на пристроях PlayStation®4, PlayStation®5 і Nintendo Switch вам нададуть разом із доступом до відповідних платформ.
В: Так, усі стандартні функції API Defold доступні й на консольних платформах. Крім стандартних можливостей, ви отримаєте доступ до кількох функцій, специфічних для PlayStation®4, PlayStation®5 і Nintendo Switch. Загалом код може залишатися цілком однаковим на різних платформах.
Відповідь: Під час подання застосунку Apple пропонує три прапорці для трьох допустимих способів використання IDFA:
Якщо вибрати варіант 1, перевіряльник застосунку шукатиме в ньому рекламу. Якщо ваша гра не показує реклами, її можуть відхилити. Сам Defold не використовує рекламний ідентифікатор.
Відповідь: Defold підтримує покупки в застосунку та різні рекламні рішення. Актуальний перелік доступних способів монетизації див. у категорії Monetization на порталі Defold Assets.
Відповідь: У рідкісних випадках процес збирання може не перебудувати файли, якщо раніше виникли помилки збирання, які ви вже виправили. Примусово виконайте повне повторне збирання, вибравши в меню Project > Rebuild And Launch.
Відповідь: Так. Вони називаються колекціями (collections). Вони дають змогу створювати складні ієрархії ігрових об’єктів (game objects) і зберігати їх як окремі будівельні блоки, екземпляри яких можна створювати в редакторі або під час виконання (створюючи екземпляри колекцій). Для вузлів GUI підтримуються шаблони GUI.
Відповідь: Найімовірніше, ви намагаєтеся додати дочірній об’єкт у файлі ігрового об’єкта, а це неможливо. Так можна робити лише у файлі колекції. Щоб зрозуміти причину, пам’ятайте: батьківсько-дочірні ієрархії — це суто ієрархії трансформацій графа сцени. Ігровий об’єкт, який ще не розміщено (або не створено) у сцені (колекції), не є частиною графа сцени, а отже, не може бути частиною його ієрархії. Ідентифікатор батьківського об’єкта ігрового об’єкта можна отримати за допомогою go.get_parent().
Відповідь: Зв’язки між батьківськими та дочірніми об’єктами виражають лише зв’язки трансформацій у графі сцени, і їх не слід плутати з агрегацією в об’єктно-орієнтованому програмуванні. Якщо зосередитися на даних гри та на тому, як найкраще їх перетворювати зі зміною стану гри, імовірно, потреба постійно надсилати повідомлення з даними стану багатьом об’єктам зменшиться. Коли вам усе ж потрібні ієрархії даних, їх легко створювати й обробляти в Lua.
Відповідь: Це візуальний артефакт під назвою «просочування країв» (edge bleeding), коли крайні пікселі сусідніх зображень в атласі потрапляють у зображення, призначене вашому спрайту. Розв’язання — додати до країв зображень атласу додаткові рядки та стовпці однакових пікселів. На щастя, редактор атласів Defold може зробити це автоматично. Відкрийте атлас і встановіть для Extrude Borders значення 1.
Відповідь: У вбудованому шейдері спрайтів, який за замовчуванням використовується для всіх спрайтів, визначено константу «tint»:
local red = 1
local green = 0.3
local blue = 0.55
local alpha = 1
go.set("#sprite", "tint", vmath.vector4(red, green, blue, alpha))
Відповідь: Позиція ігрового об’єкта за віссю Z визначає порядок рендерингу. Об’єкти з меншими значеннями малюються раніше за об’єкти з більшими. Стандартний скрипт рендерингу малює ігрові об’єкти з глибиною від -1 до 1; усе за межами цього діапазону не малюється. Докладніше про скрипт рендерингу можна прочитати в офіційній документації з рендерингу. Для вузлів GUI значення Z ігнорується й зовсім не впливає на порядок рендерингу. Натомість вузли малюються в порядку, у якому їх перелічено, та відповідно до дочірніх ієрархій (і шарів). Докладніше про рендеринг GUI та оптимізацію викликів малювання за допомогою шарів читайте в офіційній документації GUI.
Відповідь: Ні. Це впливає лише на точність. Буфер глибини логарифмічний і має дуже високу роздільну здатність для значень z поблизу 0 та нижчу — далі від 0. Наприклад, у 24-бітному буфері можна розрізнити значення 10.0 і 10.000005, а 10000 і 10005 — ні.
Відповідь: Насправді послідовність є. Усюди в редакторі та ігрових API кути задають у градусах. Математичні бібліотеки використовують радіани. Наразі винятком є фізична властивість angular_velocity, яку виражено в радіанах за секунду. Очікується, що це зміниться.
Відповідь: Це просто фігура з кольорами вершин. Пам’ятайте, що її рендеринг усе одно потребує ресурсів заповнення пікселів.
Відповідь: Для всіх ресурсів усередині рушія ведеться підрахунок посилань. Щойно кількість посилань дорівнює нулю, ресурс звільняється.
Відповідь: Усе побудовано на компонентах (components). Можна створити ігровий об’єкт без візуального представлення з кількома звуками та відтворювати їх, надсилаючи повідомлення об’єкту, що керує звуком.
Відповідь: Загалом усі ресурси оголошуються статично, завдяки чому керування ними не потребує додаткових зусиль. За допомогою властивостей ресурсів можна змінити ресурс, призначений компоненту.
Відповідь: Так, див. API фізики, зокрема physics.get_shape() та physics.set_shape().
Відповідь: Так, установіть прапорець physics.debug у game.project. (Див. офіційну документацію з налаштувань проєкту)
Відповідь: Defold використовує модифіковану версію Box2D, тому витрати ресурсів мають бути приблизно такими самими. Ви завжди можете перевірити, скільки часу рушій витрачає на фізику, відкривши профайлер. Також варто враховувати, які типи об’єктів колізій ви використовуєте. Наприклад, статичні об’єкти потребують менше ресурсів. Докладніше див. в офіційній документації з фізики Defold.
Відповідь: Це залежить від того, чи відтворюються вони. Ефект ParticleFx, який не відтворюється, не впливає на продуктивність. Вплив ефекту ParticleFx, який відтворюється, слід оцінювати за допомогою профайлера, адже він залежить від налаштувань ефекту. Як і для більшості інших елементів, пам’ять виділяється заздалегідь для кількості ефектів ParticleFx, визначеної параметром max_count у game.project.
Відповідь: Кожна колекція, завантажена через проксі колекції (collection proxy), має власний стек введення. Введення передається зі стека введення головної колекції через компонент проксі до об’єктів у завантаженій колекції. Це означає, що недостатньо надати фокус введення лише ігровому об’єкту в завантаженій колекції: ігровий об’єкт, який містить компонент проксі, також має отримати фокус введення. Докладніше див. у документації з введення.
Відповідь: Ні. Defold підтримує властивості типу hash. Їх можна використовувати для позначення типів, ідентифікаторів стану або будь-яких ключів. Хеші також можна використовувати для зберігання ідентифікаторів (шляхів) ігрових об’єктів, хоча властивості url часто зручніші, оскільки редактор автоматично заповнює для вас розкривний список відповідними URL. Докладніше див. у документації з властивостей скриптів.
vmath.matrix4() або подібної функції)?
Відповідь: Доступ до елементів можна отримати через mymatrix.m11, mymatrix.m12, mymatrix.m21 тощо
Not enough resources to clone the node
Відповідь: Збільште значення Max Nodes компонента GUI. Його можна знайти на панелі Properties, вибравши корінь компонента в Outline.
Відповідь: Звісно! Для цього є спеціальна категорія «Work for hire». Ми завжди заохочуватимемо все, що приносить користь спільноті, і пропонування своїх послуг спільноті — за винагороду чи безкоштовно — є добрим прикладом.
Відповідь: Щоб зменшити кількість підняттів тем у категорії «Work for hire», у власній темі можна писати не частіше ніж раз на 14 днів (виняток — пряма відповідь на коментар у темі: у такому разі відповідати можна). Якщо протягом цих 14 днів ви хочете додати до теми інші роботи, відредагуйте наявні дописи, додавши новий вміст.
Відповідь: Звісно, сміливо публікуйте! У ній можна як пропонувати послуги, так і шукати фахівців, наприклад: «Програміст шукає художника, який створює 2D-піксельну графіку; я багатий і добре заплачу».