Je crée un jeu simple avec AndEngine. Une balle est droppée vers un sol, et chaque fois qu'elle entre en collision avec le sol, je veux jouer un petit son de collision. Dans la méthode onUpdate(), je vérifie la collision et joue le son en conséquence.AndEngine - en retard lors de la lecture du son
J'utilise la classe Sound pour jouer du son (comme dans SoundExample of AndEngine). Test sur Samsung Galaxy S2.
Le problème est que le programme est retardé lorsque le son est joué. Et cela affecte même la physique du jeu (parfois la balle rebondit plus haut que le point le plus élevé lors de la désactivation du son).
Voici le code:
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;
}
}
Si je retire mSound.play() ou garder son jeu (Supprimer le commentaire à la ligne 2), le programme fonctionne bien.
Est-ce que quelqu'un rencontre le même problème? Et avoir une solution pour se débarrasser du décalage? Merci beaucoup!
J'ai réussi à résoudre ce problème simplement en appelant .play() dans un nouveau fil à chaque fois. Ce n'est pas la meilleure solution, je suppose, mais cela a pris du retard. – Ixanezis