0
我的代碼是在場景的registerupdatehandler
..的Android AndEngine播放聲音一度跌破只
if (B.collidesWith(l)){
mSound.play();
}
目前
,它就會反覆播放,直到B
得到從l
(非碰撞)的距離。
更新:
/* The actual collision-checking. */
mScene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void reset() {
}
@Override
public void onUpdate(final float pSecondsElapsed) {
if (B.collidesWith(l)){
if (!mHasPlayed) {
Log.i("CONTACT", "BETWEEN B and L!");
mSound.play();
mHasPlayed = true;
} else {
mHasPlayed = false;
}
}
}
});
將logcat添加到'else'部分,看看是否在兩者之間調用重置'mHasPlayed'。 – dharms
它被稱爲5次相同的其他logcat,都是5次..所以聲音播放5次 –
你可以發佈你如何更新'B'的位置?我認爲這可能與此有關。看起來'collidesWith()'的結果現在不可靠。 – dharms