Ты уже построил мир. Он дышит, мерцает неоновыми тенями, реагирует на выборы игрока. Но чего-то всё ещё не хватает...

Тишина.

Любая киберпанк-реальность неполна без ритма. Без звуковых сигналов, пульса синтезатора, вибраций тревоги и технологических шумов. В этом уроке мы пробудим ещё один слой восприятия — звуковой.

Ты научишься добавлять музыку и эффекты, чтобы твоя игра стала по-настоящему живой и атмосферной.

Пристегни наушники. Включаем звук.

Музыку и звук эффекта ты сможешь взять из материалов к уроку по ссылке:

Цель этого урока: усилить атмосферу с помощью фоновой музыки и звуков при взаимодействии.

Что ты изучишь: подключение аудио в HTML, автозапуск фона, добавление звуков при наведении, настройка громкости и повторов.

На выходе: интерактивная сцена с фоновой музыкой и звуками — игра становится по-настоящему живой.

Анимация персонажа: он оживает

Ранее твой персонаж был статичен. Давай добавим ему лёгкую анимацию дрожания, чтобы он словно "глючил" на экране. Создадим новую анимацию тряски:

@keyframes glitchShake {
0% { transform: translate(0, 0); }
20% { transform: translate(-2px, 1px); }
40% { transform: translate(2px, -1px); }
60% { transform: translate(-1px, 2px); }
80% { transform: translate(1px, -2px); }
100% { transform: translate(0, 0); }
}

Теперь применим это к классу персонажа:

.character {
position: absolute;
right: 100px;
width: 50%;
animation: fadeInCharacter 0.2s ease-out forwards, glitchShake 3s ease-in-out infinite;
}

Теперь он не просто "есть на экране", а живёт. Мелочь — а сразу ощущается движение.

Подключение фоновой музыки

Добавить музыку на страницу очень просто. Но у современных браузеров есть ограничение на автоматическое воспроизведение музыки. Поэтому мы чуть-чуть прибегнем к магии JavaScript.

Для начала добавь тег audio с айди background-music, аттриббут loop говорит воспроизводить музыку повторно при окончании.

<audio id="background-music" src="sound/cyberpunk-music.mp3" loop></audio>

Музыка может воспроизвестись, если пользователь как-то повзаимодействовал со страницей. Например сделал клик. По рандомному клику давайте запускать наше музыкальное оформление. В других уроках включение музыки и эффектов уйдет в специальное окно настроек.

В тег body добавляем обработчик onclick который будет вызывать функцию проигрывания музыки.

<body id="index" onclick="playMusic()">

JavaScript код, как и CSS, можно писать внутри тегов, в отдельном html теге <script></script> или вынести в отдельный \*.js файл.

Чтобы объявить нашу функцию мы пишем так:

<script>
function playMusic() {
const music = document.getElementById('background-music');
music.volume = 0.1;
music.play();
document.body.onclick = null;
}
</script>

Проверь результат.

Эффекты при наведении

Музыка звучит, персонаж живой — давай сделаем и интерфейс чувствительным к действиям игрока.

Шаг 1: Добавим класс ссылкам

<a href="login.html" class="link">Войти в систему и прочитать сообщение</a>
<a href="disconnect.html" class="link">Срочно выключить питание и исчезнуть</a>

Шаг 2: Добавим аудио для эффектов

<audio id="hoverSound" src="sound/ui.mp3" preload="auto"></audio>

Шаг 3: Код воспроизведения звука при наведении

Вставь этот код после предыдущей функции в теге script.

const sound = document.getElementById('hoverSound');
sound.volume = 0.3;
const links = document.querySelectorAll('.link');
links.forEach(link => {
link.addEventListener('mouseenter', () => {
sound.currentTime = 0;
sound.play();
});
});

Теперь каждый раз, когда игрок наводит курсор на выбор — звучит технологичный UI-звук. Деталь, которая делает твою игру гораздо насыщеннее.

Заключение

Поздравляю! Теперь в твоей новелле есть звук. Это очень важный шаг: ты подключил не просто код, а целое новое чувство для игрока.

В твоей игре уже есть атмосфера света и слов, а теперь в ней зазвучала жизнь.

В следующих уроках мы научимся управлять звуками ещё глубже, выстроим ветвистую сюжетную линию игры, добавим разных персонажей, инвентарь и вещи главного героя, выведем настройки в отдельное меню, добавим игровой интерфейс, карту города и много чего другого.

Обложка книги JavaScript с нуля: учимся программировать, создавая игры

Книга по JavaScript для начинающих

«JavaScript с нуля: учимся программировать, создавая игры»

Пошаговый формат с маленькими практическими задачами: от базового синтаксиса до первых игровых механик без перегруза теорией.

Читать книгу на ЛитРес →