Быстрый старт
Это пошаговое руководство по интеграции HTML5 Ultra Pack в ваши проекты
Подготовительные шаги
Эти этапы выполняются единожды, при интеграции расширения в новые проекты они пропускаются
- Установите GameMaker версии 2024.8
Расширение разрабатывалось и тестировалось на этой версии и её HTML5 рантайм показался мне наиболее стабильным. Ничто не мешает вам попробовать другие версии, но я не гарантирую, что все будет работать корректно
- Скачайте .yymps расширение
- Произведите настройку HTML5 цели
Установка расширения
Эти этапы выполняются при интеграции расширения в новый проект
-
Перетащите файл
.yympsв ваш проект -
Установите
__rmInitв качестве стартовой комнаты -
Перейдите в
Game Options - HTML5 - Graphicsи установите следующие настройки:- Centre Game In Browser Window:
true - WebGL:
Required - Scaling:
Full scale
- Centre Game In Browser Window:
-
Перейдите в
Game Options - HTML5 - Generalи установите следующие настройки:- Для Yandex Games SDK:
- Included file as index.html:
Use Default - Loading bar extension:
CustomLoadingSpinner
- Included file as index.html:
- Для Playgama Bridge SDK:
- Included file as index.html:
playgama-bridge-index.html - Loading bar extension:
Use Default
- Included file as index.html:
- Для Yandex Games SDK:
-
Включите
web_dyn_texextension
Настройка YGsettings
-
Настройте макросы в скрипте YGsettings:
-
Инициализируйте переменные, которые требуется сохранять между игровыми сессиями в скрипте YGsettings:
Использование SDK
После всех загрузок, происходящих в стартовой комнате, игра перейдёт в комнату, которую вы установили в YGsettings.
Вам станет доступна глобальная структура(Struct) YG, вот несколько примеров использования:
Проверка языка
// Локализация текста
var _text = ""
if (YG.lang == "ru") {
_text = "Привет, мир!";
} else if (YG.lang == "en") {
_text = "Hello, world!";
}
draw_text(x, y, _text)
Работа с данными
// Обновление игровых данных
YG.data.level = 10;
YG.data.score = 20000;
YG.data.coins = 100;
// Сохранение данных на сервер/в файл
YG.storage.data.send();
Работа с рекламой
Полноэкранная реклама:
if (YG.adv.interstitial.is_showable()) {
pause_game(); // Ставим игру на паузу
YG.adv.interstitial.show(function() {
unpause_game(); // Снимаем игру с паузы когда реклама будет закрыта
});
}
Реклама за вознаграждение:
YG.adv.reward.show(
function() {
// Игрок досмотрел рекламу до конца
obj_player.coins += 100;
},
function() {
// Игрок закрыл рекламу раньше времени
show_debug_message("Реклама закрыта преждевременно");
}
);
Баннер:
Управление аудио
// Получение текущей громкости
var _currentVolume = YG.audio.getVolume();
// Установка новой громкости
YG.audio.setVolume(_currentVolume+0.1);
Совет
Для более глубокого понимания возможностей расширения ознакомьтесь с документацией по объекту YG.