2

libgdx を使用して、作成中のゲームのバックグラウンド ミュージックを再生しています。再生する可能性のある音楽の配列があり、現在の曲が終了したら、配列から別の曲がランダムに選択されるようにしたいと考えています。

私が抱えている問題は、音楽が終了したときに解決することです。

Music クラスには、アタッチできるイベント ハンドラーがないように見えます。また、特定の音楽が終了するまでの時間を教えてくれる方法もありません。

頭に浮かぶ唯一のアイデアは、ポーリングに関するものです

music.isPlaying()

何らかのループで、いつ停止したかを判断できるようにします。しかし、これは私の意見では醜い解決策であり、(たとえば) ユーザーがサウンドをオフにしている場合は機能しません。

他にできることはありますか?

4

1 に答える 1

3

LibGDX の最新バージョンではOnCompletetionListenerMusic. ドキュメントを参照してください。現在の音楽の再生が最後に達したときに呼び出されます。

使用する場合Sound、この機能に関する既知の問題があります。サウンドでは、サポートが必要な Android API のおかげで、いつ終了したかを知る方法がありません。この場合、gdx-audio 拡張機能をお勧めしますが、これははるかに低レベルであり、GWT/iOS では使用できません。ウィキを参照してください。

于 2013-11-10T12:08:42.997 に答える