AndEngine으로 간단한 게임을 만들고 있습니다. 공이 바닥쪽으로 떨어지고 바닥과 충돌 할 때마다 나는 짧은 충돌 소리를 내고 싶다. onUpdate() 메서드에서 충돌을 확인하고 그에 따라 사운드를 재생합니다.AndEngine - 사운드 재생시 뒤처짐
사운드 재생을 위해 Sound 클래스를 사용합니다 (AndEngine의 SoundExample에서와 같이). 삼성 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 호선에서 주석을 제거)이 프로그램이 원활하게 작동합니다
이
는 코드입니다.누구에게도 동일한 문제가 발생합니까? 그리고 지연을 없애기위한 해결책이 있습니까? 많은 감사합니다!
.play()를 호출하여이 문제를 간단하게 극복 할 수있었습니다. 매회 새로운 스레드. 최선의 해결책은 아닐지 모르지만, 이것은 지연을 제거했습니다. – Ixanezis