我使用布尔值将滑块设置为工作,但当我将布尔值设置为FALSE,然后切换到另一个布尔值并再次使用滑块时,两个滑块仍在工作,我不是切换了一个吗?

if (Bool[0]){
Sliderobj.GetComponent<Slider>().onValueChanged.AddListener((v) =>
  {
Debug.log("1")
  }}
if (Bool[1]){
Sliderobj.GetComponent<Slider>().onValueChanged.AddListener((v) =>
  {
Debug.log("2")
  }}

推荐答案

您正在添加监听程序,但没有将其删除.另外,不要一直根据值Bool[i]来添加和删除监听器,而要这样做

Sliderobj.GetComponent<Slider>().onValueChanged.AddListener(delegate {
    HandleBoolValue(v);
});

void HandleBoolValue(var v) {
    if (Bool[0]) {
        Debug.Log("1");
    } else if (Bool[1]) {
        Debug.Log("2");
    }
}

Csharp相关问答推荐

EF Core判断是否应用了AsSplitQuery()

Monty Hall游戏节目模拟给我50/50的结果

如何修改中间件或其注册以正确使用作用域服务?

如何注销Microsoft帐户?

如何在C#中使用正则表达式抓取用逗号分隔的两个单词?

确定System.Text.Json序列化中是否无法识别Type

如何在C#中转换泛型包装类内部的派生类

从另一个不同 struct 的数组创建Newtonsoft.Json.Linq.J数组

在两个已具有一对多关系的表之间添加另一个一对多关系

如何使用ODP.NET C#设置Oracle会话时间长度限制

工厂类是如何在.NET 8中注册的?

Foreach非常慢的C#

如何从SignalR获取连接客户端的域

在C#和HttpClient中使用REST API

用于分钟和秒验证的MudTextfield的正则表达式掩码

如何对列表<;列表>;使用集合表达式?

Avalonia MVVM数据模板

自定义ConsoleForMatter中的DI/Http上下文

如何查找Span;T&>是否包含相同顺序的其他Span<;T&>

部署Aspnet Blazor服务器时出现未处理的Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]异常