Я создаю простую игру с AndEngine. Мяч падает на пол, и всякий раз, когда он сталкивается с полом, я хочу воспроизвести короткий звук столкновения. В методе onUpdate() я проверяю наличие столкновений и соответственно проигрываю звук.
Я использую класс Sound для воспроизведения звука (как в SoundExample AndEngine). Тестирование на Samsung Galaxy S2.
Проблема в том, что программа зависает при воспроизведении звука. И это даже влияет на игровую физику (иногда мяч отскакивает выше высшей точки при отключении звука).
Это код:
public void onUpdate(float pSecondsElapsed) {
// mSound.play();
if (this.mSprite.collidesWith(ball.getSprite())) {
if (!colliding && mSound != null){ // play sound for first collision only
mSound.play();
colliding = true;
}
}
else{
colliding = false;
}
}
Если я удалю mSound.play() или продолжу воспроизводить звук (удалю комментарий в строке 2), программа будет работать гладко.
Кто-нибудь сталкивается с такой же проблемой? И есть решение, чтобы избавиться от лагов? Большое спасибо!