我一直在尝试使用 PulpCore,尝试创建自己的塔防游戏(还不能玩),我非常喜欢它,我遇到了一个我无法弄清楚的问题。我用 JOrbis 扩展了 PulpCore 以允许播放 OGG 文件。工作正常。然而,pulpCore 似乎有一个问题,即在为音量设置动画的同时循环声音。我也用 wav 文件试过这个,以确保它不是 jOrbis 破坏它。代码是这样的:
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(我可以通过对从 loop() 返回的 Playback 对象调用 stop 来停止它。但是,我想要音乐平滑淡入,所以按照 PulpCore API 文档的建议,我添加了最后一行将创建淡入但音乐只会播放一次然后停止。我想知道为什么会这样?这里有一点文档:
播放pulpcore.sound.Sound.loop(固定级别)
以指定的音量(0.0 到 1.0)循环这个声音片段。关卡可能附加了属性动画。
参数:级别
返回: 此唯一声音播放的 Playback 对象(一个 Sound 可以同时有多个 Playback 对象);如果无法播放声音,则返回 null。
那么可能是什么问题呢?我重复,最后一行,声音淡入但不循环,没有它循环但从指定的 0.75 音量级别开始。为什么我不能为循环音乐播放的音量设置动画?我究竟做错了什么?任何人都有使用pulpCore的经验并且遇到过这个问题?任何人都可以下载 PulpCore 并尝试循环播放淡入(淡出)的音乐吗?
注意:我需要保留对返回的 Playback 对象的引用,以便以后可以终止音乐。