0

現在、私のコードは、andEngine と Box2D を使用してゲーム内のオブジェクトと壁が接触すると音を鳴らします。問題は、オブジェクトと接触すると再び開始するということです。なぜこれが起こっているのか理解できます。可能であれば、別の衝突のためにサウンドを再生しながら、サウンドを再生し続けることを望んでいます。スレッドを使用する必要があると思いますが、Java for Android でこれを行う方法がわかりません。

@Override
public void beginContact(Contact contact)
{
    Rattle.this.mExplosionSound.play();
}

更新: 問題を修正できなかったようですが、このサウンドを複数回同時に再生する必要があることはわかっています。スレッドとサウンドプールを試しましたが、まだ何をすべきかわかりません。行う。

4

2 に答える 2

1

サウンドのインスタンスが 1 つしかないようです。次に、同じサウンドで play を 2 回呼び出すと、再生が停止し、最初から開始されます。

CD プレーヤーが 1 台あると想像してください。再生ボタンを押すと、音楽の再生が始まります。もう一度再生を押すと、プレーヤーはトラックを最初から読み始めます。必要なのは 2 人のプレーヤーです。したがって、同じサウンドの 2 つのインスタンスが必要になる場合があります。

(私は Android でのサウンドの経験があまりないので、間違っているかもしれません。アドバイスは大目にみてください。)

于 2012-07-24T14:01:28.220 に答える
-1

少し前にゲームを開発していたときでさえ、同様の問題を見つけました。クラッシュや衝突などの短い音を再生するには、SoundPool を使用する必要があります。ここに私を助けたいくつかの良いリンクがあります。リンク 1リンク 2

于 2012-07-13T10:13:14.643 に答える