gpt4 book ai didi

c# - 如何在单人游戏中使用按钮更改音量?

转载 作者:行者123 更新时间:2023-12-03 00:26:03 25 4
gpt4 key购买 nike

我想用设置中的按钮更改我的 c# 编写的单声道游戏的音量。
我有两个按钮。一种用于较低音量,一种用于较高音量。
按钮背后的功能如下:

public static void VolumeHigher()
{
if (SoundEffect.MasterVolume != 1.0f)
{
SoundEffect.MasterVolume += 0.1f;
}
}

public static void VolumeLower()
{
if (SoundEffect.MasterVolume != 0.0f)
{
SoundEffect.MasterVolume -= 0.1f;
}
}

当我点击更高或更低时,会有一点变化。
当我点击更高或更低几次时,它会越来越低。没关系,如果我点击更高或更低。它越来越低。
而且它只是低一点。你可以听到它,但我没有变得更安静。
此时只有两个音量步骤。一个“正常”和一个“稍微低一点”。

另一个实现:
public static void VolumeHigher()
{


if (SoundEffect.MasterVolume <= 1.0f || SoundEffect.MasterVolume >= 0.0f)
{
SoundEffect.MasterVolume += 0.1f;
}
else
{
Console.WriteLine("The sound is loud enough. Protect your ears!");
}

}

public static void VolumeLower()
{

if (SoundEffect.MasterVolume > 0.0f || SoundEffect.MasterVolume <= 1.0f)
{
SoundEffect.MasterVolume += 0.1f;
}
else
{
Console.WriteLine("The sound is quiet. You don't hear it anymore!");
}

}

那里出现错误 System.ArgumentOutOfRangeException。
我不明白这个异常,因为 0.0f 是静音,1.0f 是全音量。在这段代码中,音量不能超出范围。

我怎样才能正确地做到这一点?
我在这里找不到其他问题的帮助。
请问有人可以帮我吗?

最佳答案

第二个代码段中的问题是您对 || 的使用运算符(operator)。

例如,在 VolumeHigher 方法中,您正在检查声音是否小于 1.0f 或声音是否大于 0.0f。这在您的情况下始终是正确的,因此您将添加 0.1f 并因此获得 ArgumentOutOfRangeException。

您可以简单地删除“|| SoundEffect.MasterVolume >= 0.0f”,它应该可以正常工作。

同样的逻辑适用于 VolumeLower 方法。

关于c# - 如何在单人游戏中使用按钮更改音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029700/

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