0

さて、私はボールゲームを扱っています.すべてがうまく機能しています.2つのボールが互いに衝突したときにサウンドを追加したいと思います.

次のコードを試しましたが、音が繰り返されています。衝突が開始されたときに一度だけ再生され、衝突が維持されたときに再生されません。

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 に答える