PulpCoreの音楽再生 - ループサウンドとアニメーションの音量
質問
私は私自身のタワーの防衛ゲームを作成しようと、PulpCoreで実験されていますの( - 再生できないまだ)、と私はかなり把握できないという問題にそれ非常に多くのI RANを楽しんでいます。私は、OGGファイルを再生することを可能にするためにJOrbisの事でPulpCoreを拡張しました。正常に動作します。しかし、pulpCoreは、音量レベルをアニメーションWHILE音をループに問題があるようです。私はそれが壊れていることjOrbisではないことを確認するために、あまりにもWAVファイルでこれを試してみました。コードはこのようなものです。
Sound bgMusic = Sound.load("music/music.ogg");
Playback musicPlayback;
...
musicVolume = new Fixed(0.75);
musicPlayback = bgMusic.loop(musicVolume);
//TODO figure out why it's NOT looping when volume is animated
// musicVolume.animate(0, musicVolume.get(), FADE_IN_TIME);
このコードは、長い最後の行をコメントアウトされるとするために、)私はループから返された再生オブジェクト(上のストップを呼び出すことにより停止することができた(無限ループ内で何度も何度もmusic.oggを果たしている。しかし、私PulpCoreのAPIドキュメントのアドバイスを以下のようにスムーズにフェードに音楽をしたいと思い、私はフェードインを作成しますが、音楽は一度だけ再生した後、停止します最後の行を追加しました。それがここで?されている理由私は疑問に思いますドキュメントのビットます:
再生 pulpcore.sound.Sound.loop(固定レベル)
このサウンドクリップをループ 指定された音量レベル(0.0〜1.0)。 レベルは性を有していてもよいです アニメーション添付ます。
パラメータ:レベル
戻り値:このため再生オブジェクト ユニークなサウンドの再生(1つのサウンド缶 多くの同時再生を持っています オブジェクト)またはnull音がすることができれば 再生されません。
だから何が問題だろうか?それはループが、指定された0.75の音量レベルで始まり、私は音のフェードで、最後の行で、繰り返しますが、ループはそれなしで、しません。 なぜ私は、ループ音楽再生の音量をアニメーション化することはできませんか?何が私が間違っているのでしょうか?誰もがpulpCoreの経験を持っており、この問題に遭遇したのか?誰でもダウンロードPulpCoreを喜ばとループ音楽を試みる可能性がフェードイン(アウト)?
注:私は、私は後で音楽を殺すことができるように、返された再生オブジェクトへの参照を保持する必要があります。
。解決 3
最後に、私は、パルプコア作者から、この問題についての説明と簡単な回避策を得ることができました。だからここでは、次のとおりです。
これはPulpCoreのバグです。ときに出力 音量は、サウンドプレーヤーが停止ゼロであります 音をループます。
これを回避するには、、Aからアニメーション このようなゼロでない値で、ます:
musicVolume.animate(0.0001, 1, FADE_IN_TIME);
他のヒント
animate
方法が唯一のオプションを設定した場合、は、それが予測できない動作することができます - アニメーションが最初に適用されるので、ループ自体でこのラインを切り替えてみてください。
。あなたがループしない再生の音量をアニメーション化することができ、その後、その再生の終了時に、一定のレベルでループを開始する?