gpt4 book ai didi

java - 如何在 libgdx 中正确实现声音切换?

转载 作者:行者123 更新时间:2023-11-30 07:26:36 25 4
gpt4 key购买 nike

我目前正在使用主菜单中的一个按钮作为切换按钮,将 boolean 值设置为 true 或 false。它初始化为 true,如果设置为 false,则不会播放声音。

但是,问题是,如果您在主菜单中将切换设置为 false 并将屏幕切换为播放屏幕,然后再次返回主菜单,它会再次初始化为 true,因为正在创建一个新屏幕使用过。

有哪些方法可以解决这个问题?

最佳答案

您需要将设置的值存储在您始终保留的类实例的 boolean 字段中。按钮本身是一个 View 对象——不要依赖它来存储您的状态。

例如,创建一个名为 UserSettings 的类,并在其中包含一个 soundEnabled boolean 值。您的游戏实例可以保留对 UserSettings 实例的引用以传递到所有不同的屏幕。当 MenuScreen 初始化时,它会查看 soundEnabled boolean 值并使用它来设置按钮的初始选中状态。该按钮有一个 ChangeListener,可以适当修改 UserSettings 对象中的 boolean 值。

然后在播放屏幕中,传入相同的 UserSettings 对象,这就是它用来确定是否应该打开声音的对象。

此外,您可以使用 Json 类将 UserSettings 对象保存到文件(或首选项)中,然后您的游戏可以在重新打开游戏时从该文件(如果存在)加载该对象。这样,用户的偏好在每次 session 中都会被记住。

关于java - 如何在 libgdx 中正确实现声音切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36750122/

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