我正在用AndEngine创建一个简单的游戏。一个球落在地板上,每当它与地板碰撞时,我想发挥短暂的碰撞声。在方法onUpdate()中,我检查碰撞并相应地播放声音。
我使用类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行的评论),程序运行顺畅。
有没有人遇到同样的问题?并有一个摆脱滞后的解决方案?非常感谢!
答案 0 :(得分:1)
正如你提到的那样,当你继续播放声音时它运作顺畅..然后问题不在于声音