Създавам проста игра с 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), програмата работи гладко.
Някой среща ли същия проблем? И имате ли решение да се отървете от забавянето? Много благодаря!