0 / 0 / 0
Регистрация: 22.11.2019
Сообщений: 11
|
|||||||||||
1 | |||||||||||
Godot - звуки перемещения12.06.2020, 14:16. Показов 5345. Ответов 1
Доброго времени суток всем участникам форума! Хочу узнать ваше мнение.
Во время разработки игры на Godot Engine, жанра платформер, захотел сделать так, что звуки шагов будут воспроизводиться случайно (т. е. при каждом шаге воспроизводиться, условно говоря, отдельный звуковой файл). Как я это реализовал: 1. В скрипте adventurer установил булеву переменную isFootstepSound = false. Она отвечает, играет ли в данный момент звук шага. 2. В сцене игрового персонажа (все узлы находятся под главным узлом типа KinematicBody2D) создал узел-пустышку sounds (хранит звуковые эффекты для различных состояний персонажа), в нем - такой же узел под названием footsteps, в котором хранятся узлы типа AudioStreamPlayer2D, каждый узел - отдельный звук шага. Итого, если бы нам понадобилось вызвать какой-то отдельный звук, то мы бы использовали $sounds/footsteps/footstep_01. 3. Также в скрипте создан массив footstep_sounds, хранящий адреса шагов по вышеуказанному примеру. 4. Далее, идет кусок кода, собственно, отвечающий за воспроизведение звука:
Генерируется число, определяющее, какой звук будет проигран. После этого из sounds/footsteps вызывается узел звукового эффекта, соответствующий номеру (если сгенерирован 0, будет вызван sounds/footsteps/footstep_01 и т. д.). После того, как эффект шага заканчивается, вызывается соответствующая для каждого звукового эффекта функция, выключающая isSound и, таким образом, дающая возможность проиграть следующий случайный звук шага:
0
|
12.06.2020, 14:16 | |
Ответы с готовыми решениями:
1
Проблема с наушниками - очень тихо воспроизводятся системные звуки и звуки в играх. Шифрование методом Цезаря/простого перемещения/двойного перемещения/простой замены В списке сделать команды перемещения элемента вверх и вниз по списку (две кнопки для перемещения в ListBox) Звуки |
20.08.2024, 08:17 | 2 |
Есть же
AudioStreamRandomizer , посмотрите его возможности, может быть он вас устроит. Также не понял смысл переменной isSound . Вы используете эту переменную для проверки, что аудио не проигрывается. Но зачем она, если у AudioStreamPlayer2D есть метод is_playing() и своя переменная playing .
0
|
20.08.2024, 08:17 | |
20.08.2024, 08:17 | |
Помогаю со студенческими работами здесь
2
Звуки звуки Звуки Звуки в ЖД звуки (SoundPlayer) Посторонние звуки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |