c# - button.OnClick 监听器触发两次
问题描述
我在场景中的播放按钮将当前菜单场景更改为实际关卡场景。
我以委托的形式添加了监听器方法:
playLevel.onClick.AddListener(delegate { LoadLevel();})
大多数时候它工作得很好,但有时当我点击按钮时,游戏会延迟一秒钟,然后可以再次点击按钮,因此打开关卡场景两次。
有谁知道如何防止这种情况发生?谢谢
解决方案
有时:) ?看起来您的按钮有多个具有相同方法的侦听器。也许这只是发生在您在同一个游戏会话中多次单击同一个按钮。
您的代码: playLevel.onClick.AddListener(delegate { LoadLevel();})
当您每次单击时,此代码将您的方法块委托给侦听器。我想只是尝试 playLevel.onClick.RemoveAllListeners() 或者在委托一个新的之前使用 playLevel.onClick.RemoveListener(-your actionCall-) 删除一个特定的(如果你不想全部删除)。
推荐阅读
- javascript - Jest 再也找不到测试文件了
- sql - Oracle 包含问题
- r - 对很多数字使用“prod”
- visual-studio-code - vscode上不显示特殊字符
- firebase - 在firestore中发布时如何附加图像
- ajax - 如何使用 Ajax 在 Blogger 中显示带有特色缩略图的最近帖子
- node.js - 我的猫鼬代码没有按预期工作
- java - JPA 加入继承,其中基类可以是两个子类型
- javascript - 如何将 css 转换 3d 同步到 webgl?
- javascript - WebPack - 从包中排除 popper.js(使用外部配置)