-
Notifications
You must be signed in to change notification settings - Fork 0
Extensions_uk
Головна | 3D-вигляд | Повний довідник дій
Розширення — це самодостатнє доповнення, яке додає можливості до PyGameMaker, не змінюючи основний рушій. Розширення може надавати:
- нові дії (вони з'являються у засобі вибору дій, як будь-яка вбудована дія),
- новий спосіб малювати кімнату (власний рушій рендерингу), і
- відповідний код експорту, тож ігри, що його використовують, усе одно експортуються в HTML5 і Kivy/Android.
Вбудоване розширення 2.5D Raycast (функція 3D-вигляд) — це опрацьований приклад: воно додає чотири дії «3D-вигляд» і першоособовий рушій рендерингу та експортується в усі три цілі.
Розширення постачаються увімкненими. Ви можете вимкнути одне (або увімкнути
те, що постачається вимкненим) без редагування коду, за допомогою ключа
extensions у вашій конфігурації — карти назва теки → увімк./вимк.:
"extensions": { "raycast_2_5d": false }Відсутній запис означає «використовувати власне значення розширення за замовчуванням», тож ніщо ніколи не зникає через відсутній ключ. Зміни набувають чинності під час наступного запуску (дії реєструються під час запуску).
Із вимкненим розширенням 2.5D Raycast кімната, що вмикає першоособовий вигляд, просто відображається згори.
Оскільки розширення можна вимкнути, PyGameMaker допомагає уникати несподіванок:
- Під час завантаження, якщо проєкт використовує дії з розширення, яке зараз вимкнене, IDE показує попередження з назвою розширення та відповідних функцій (щоб 3D-гра не відображалася мовчки згори).
-
Під час збереження проєкт записує розширення, від яких залежать його дії, у
project.json(списокrequires_extensions) — тривкий запис, який бачить кожен, з ким ви ділитеся проєктом. Проєкт, що не використовує дій розширень, просто опускає це поле.
Обидва додають дії; вони відрізняються лише пакуванням:
| Плагін | Розширення | |
|---|---|---|
| Форма | єдиний файл .py у plugins/
|
тека в extensions/ із маніфестом |
| Найкраще для | невеликого набору дій | функції, що охоплює кілька файлів та/або малює/експортує |
| Приклад | дії Audio (plugins/audio_actions.py) |
2.5D Raycast (extensions/raycast_2_5d/) |
Для допитливих (і для тих, хто його пише), розширення — це читабельна тека:
extensions/raycast_2_5d/
├── extension.json # маніфест: назва, версія, увімкнено, provides_actions
├── actions.py # схеми дій (показуються у засобі вибору)
├── handlers.py # що роблять дії під час виконання
├── renderer.py # власний рушій рендерингу кімнати (raycaster)
├── state.py # стан для кожної кімнати (у просторі імен кімнати)
├── hud.py # генератори геометрії мінікарти / смуги DOOM
├── export_html5.js # порт HTML5, впроваджений в експорт для вебу
├── export_kivy.py # порт Kivy, впроваджений в експорт для мобільних/комп'ютера
└── README.md # як усе поєднується
Список provides_actions у маніфесті — це те, що дозволяє IDE назвати точне
розширення, коли проєкту потрібне вимкнене.
- 3D-вигляд — функція, яку надає вбудоване розширення
- Повний довідник дій — дії розширень також з'являються тут
- Експорт ігор — функції розширень переносяться в експорти