我一直想知道:是否可以使用 LibGDX 中的通用 Tween 引擎来(例如)更改歌曲的音量?我用类似于我的 SpriteAccessor 的代码编写了自己的 MusicAccessor,它实际上适用于 Sprite.class,但当涉及到音乐对象时 - 它总是会遇到相同的错误:
java.lang.RuntimeException: No TweenAccessor was found for the target
问题是,我确实通过以下方式注册我的访问器:Tween.registerAccessor(Music.class,new MusicAccessor());
我很确定它确实被注册了,因为System.out.println(Tween.getRegisteredAccessor(Music.class));
印刷:the.name.of.my.packages.MusicAccessor@14bb523
。老实说,我被困住了。
音乐文件本身是 .mp3 格式,我通过资产管理器加载它。
所以,我的问题是:为什么 Tween 引擎无法正确识别我的音乐对象的类别?有没有办法让它工作,或者我是否坚持使用常规计时器来随着时间的推移改变音量?更改格式或以不同方式加载音乐文件会有帮助吗?
我个人还没有使用过Tween Engine,但我想这可能是因为Music
其实只是一个接口。
对于不同的后端和不同的文件格式有多种实现。例如AndroidMusic
, GwtMusic
,以及另外三个实现OpenALMusic
(他们都被称为Music
并位于com.badlogic.gdx.backends.openal.mp3/ogg/wav
包)。您可以使用访问器将它们全部注册,或者您可以使用Tween.cast()我在代码中找到了它,但在补间引擎的官方 JavaDoc 中没有找到。可能只有最新版本才有。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)