gpt4 book ai didi

audio - 在libgdx中将 'Sound'替换为 'Music'

转载 作者:行者123 更新时间:2023-12-02 22:45:53 27 4
gpt4 key购买 nike

我正在使用eclipse和libgdx开发一个简单的游戏。
目前,我在游戏中使用“音乐”而不是“声音”来产生声音效果。
我制作了一个用于使所有声音fx静音的按钮,但在涉及“声音”而不是音乐时遇到了问题。

这是我当前的代码:

public static Music jump;

public static void load() {
jump = Gdx.audio.newMusic(Gdx.files.internal("data/jump.wav"));
}

public static void muteFX() {
lesgo.setVolume(0);

public static void normalizeFX() {
jump.setVolume(1f);


//'muteFX' and 'normalizeFX' to be called on different class

我想将其更改为“声音”(原因是我希望它对快速单击更具响应性),因此可能是这样的:
public static Sound jump;

public static void load() {
jump = Gdx.audio.newSound(Gdx.files.internal("data/jump.wav"));
}

/* here comes my problem, didn't know how to set mute and normal
volume for the jump sound. I know there is also a set volume method
to 'Sound' but really confused on the terms (long soundID, float volume)
Can someone make this clear to me on how to implement the long and soundID?
*/

我真的对libgdx以及Java都是陌生的。我研究了许多关于此的论坛,但仍然找不到更清晰的解释。
任何帮助将不胜感激。

在此先多谢! =)

最佳答案

一个快速的建议是将全局变量用于声音

public static VOLUME = 1.0f;

声音api允许您以特定音量播放声音,因此您可以做的是在需要时让游戏中的所有声音以该全局值播放。
jump.play(VOLUME);

这样,您的所有开关将要做的就是更改音量的 float 值。
public static void muteFX(){
VOLUME = 0.0f;
}
public static void normalizeFX(){
VOLUME = 1.0f;
}

由于内存限制,最好不要将Music类用于声音效果。

我希望这有帮助

关于audio - 在libgdx中将 'Sound'替换为 'Music',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com