2014-01-07 8 views
5

私は、LibGDXのUniversal Tween Engineを使用して、曲の音量を変更することは可能ですか?私は実際にSprite.classのために働く私のSpriteAccessorは、以下のようなコードで自分のMusicAccessorを書いたが、それは、音楽オブジェクトに来るとき - それは常に同じエラーを取得します。LibGDXのmusic.classのTweenAccessor

java.lang.RuntimeException: No TweenAccessor was found for the target 

事があり、私は私を登録できますアクセサー:Tween.registerAccessor(Music.class,new MusicAccessor());System.out.println(Tween.getRegisteredAccessor(Music.class));というプリントが[email protected]というように、実際に登録されていると思います。正直なところ、私は立ち往生している。

音楽ファイル自体は.mp3形式であり、私は資産マネージャーによって読み込みます。

私の質問は、なぜTween Engineが自分の音楽オブジェクトのクラスを正しく認識できないのですか?それを動作させる方法はありますか、定期的なタイマーを使用して音量を時間をかけて変更していますか?フォーマットを変更したり、音楽ファイルを別の方法で読み込んだりすると、助けになりますか?

+1

修正の例で更新してください。 – RichieHH

+0

コードはなくなりましたが、私がしなければならなかったことは、トゥイーンのためにMusicオブジェクトを登録しているときに 'cast(Music.class) 'を追加することでした。この方法は連鎖することができる。 – JustACluelessNewbie

答えて

7

私は個人的にはまだ自分自身でTween Engineを使用していませんが、実際はMusicというのは実際にはインターフェイスなので、私は思っています。

さまざまなバックエンドとさまざまなファイル形式の実装がいくつかあります。例えば、AndroidMusic,GwtMusic、およびさらにOpenALMusicの3つの実装(これらはすべてMusicと呼ばれ、com.badlogic.gdx.backends.openal.mp3/ogg/wavパッケージ内にあります)。あなたはそれらをすべてアクセサに登録するか、コードで見つけたTween.cast()を使用できますが、ツイーンエンジンの公式JavaDocでは使用できません。それは最新のバージョンでのみ可能性があります。

+0

ありがとうございました。casting()が動作しました。残念ながらその方法を見過ごしてしまったに違いない。 – JustACluelessNewbie

+0

ありがとう!私も同じ問題がありました。 – Namenlos

+0

@JustACluelessNewbie「Music」をクラスにキャストする方法を教えてください。 – WeirdElfB0y