Сделайте свою игру честной с помощью i-фреймов.
Franks laboratory
0:00 / 0:00
Сделайте свою игру честной с помощью i-фреймов.
2 351 просмотр · 5 мес. назад
Franks laboratory
88,2 тыс. подписчиков
2 351 просмотр · 5 мес. назад
Не заставляйте игроков бросать клавиатуры. В этом эпизоде мы полностью реализуем кадры неуязвимости (i-кадры) в нашей 2D-игре на JavaScript. i-кадры — это короткий промежуток времени, в течение которого игрок не получает урона, что предотвращает его мгновенное уничтожение в результате наложения нескольких ударов. Мы также добавляем плавную анимацию мерцания с использованием синусоидальной волны для визуального обозначения неуязвимости и подключаем полный цикл окончания игры с панелью, звуками и кнопками «играть снова»/«выход».
Это часть полной серии видеороликов по разработке игр на чистом JavaScript, где мы шаг за шагом создаём многоразовый стартовый набор: • Vanilla JavaScript Game Development Course
Что мы рассматриваем:
Логика iFrame внутри метода takeDamage()
Таймер неуязвимости, управляемый дельта-временем
Эффект мерцающей непрозрачности с использованием Math.sin() и Math.abs()
Вспомогательная функция isDead() и система событий смерти игрока
Состояние «Игра окончена», скрытие HUD и отображение панели
Связывание кнопок «Играть снова» и «Выход»
Ресурсы:
Исходный код: https://code-laboratory.kit.com/f08d3...
Аудио:
🎵 player_hurt.mp3: https://www.frankslaboratory.co.uk/do...
🎵 game_over.mp3: https://www.frankslaboratory.co.uk/do...
🎵 mission_complete.mp3: https://www.frankslaboratory.co.uk/do...
⏱ Временные метки
00:00 Что такое кадры неуязвимости и почему они важны
01:00 Контрольная точка исходного кода (стр. 18)
01:31 iFrames: логика, таймер и анимация моргания
06:58 Экран окончания игры: состояние, панель и звук
11:15 Объяснение полного конвейера нанесения урона
13:31 Что дальше?
Если эта серия вам помогает, поставьте лайк — это действительно способствует развитию канала, и оставьте комментарий, рассказав, в каком стиле вы хотели бы увидеть следующую игру: пиксельная графика, рисованная от руки или что-то совершенно другое. Я читаю каждый комментарий.