0

好吧,我正在处理球类游戏,一切正常,现在我想在两个球相互碰撞时添加声音。

我尝试了以下代码,但声音正在重复。我希望它只会在碰撞开始时播放一次,而不是在保持碰撞时播放。

在 onCreateResources 中:

SoundFactory.setAssetBasePath("sfx/");
try {
     mSound = SoundFactory.createSoundFromAsset(getSoundManager(), this, "coll2.m4a");
    } catch (IOException e) {
    e.printStackTrace();
    }

并在onAccelerationChanged (AccelerationData pAccelerationData)中添加以下代码

if (face.collidesWith(face1) || face.collidesWith(face2))
                        {
                            mSound.play();
                        }
4

1 回答 1

0

您可以boolean检查精灵是否已经碰撞。代码看起来像这样。-

if (face.collidesWith(face1) || face.collidesWith(face2)) { 
    if (!colliding) {
        colliding = true;
        mSound.play(); 
    }
} else {
    colliding = false;
}
于 2013-10-05T12:22:04.947 回答