libGDX wav звучит как пила

1

У меня возникли проблемы, связанные с ходячим звуком на одном из моих объектов. Моя игра работает в разных состояниях, и я хотел, чтобы звук зацикливался в состоянии "RUNNING", проблема заключалась в том, что wav звучало как пила. Друг дал мне такое решение, используя следующий код после того, как я создал глобальный "long loopWalkSound = -1" в моем классе рендеринга:

if (myWorld.isRunning()) {
    if (loopWalkSound == -1) {
        loopWalkSound = AssetLoader.walk.loop();
    }
    drawGame(runTime);
    drawGameButtons();
    drawScore();
}

Используя этот код, звук wav был правильно, но в тот момент, когда он начинает играть, он не останавливается. Мое намерение состояло в том, чтобы wav играл только в первом состоянии состояния и останавливался при выходе из этого состояния или вообще не играл, когда игровой звук отключен (что я еще не реализовал для этого конкретного wav, но только для того, чтобы дать вам представление), Может кто-нибудь помочь понять это?

Теги:
libgdx

1 ответ

0
Лучший ответ

Оберните его в логическую проверку, чтобы вы не перезапускали ее на каждом кадре. Ниже, change wantWalkLoopToBePlaying в любое условие определяет, хотите ли вы, чтобы звук воспроизводился. Например: boolean wantWalkLoopToBePlaying = state == RUNNING; ,

if (!walkLoopIsPlaying && wantWalkLoopToBePlaying) {
    loopWalkSound = AssetLoader.walk.loop();
    if (loopWalkSound != -1) walkLoopIsPlaying = true;
} else if (walkLoopIsPlaying && !wantWalkLoopToBePlaying) {
    AssetLoader.walk.stop();
    walkLoopIsPlaying = false;
}
  • 0
    Он делает именно то, что делает второе условие, предотвращая звучание wav как пилы. Но он (wav) все еще продолжается даже после того, как состояние состояния «работает» закончилось ... И даже если я попытаюсь поставить его в состояние, отвечающее за звук игры, он проигнорирует его и продолжит играть без остановки в тот момент, когда игра находится в состоянии "работает" ...
  • 0
    Просто вызовите walk.stop() когда вы измените состояние.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню