首页 > 解决方案 > button.OnClick 监听器触发两次

问题描述

我在场景中的播放按钮将当前菜单场景更改为实际关卡场景。

我以委托的形式添加了监听器方法:

playLevel.onClick.AddListener(delegate { LoadLevel();})

大多数时候它工作得很好,但有时当我点击按钮时,游戏会延迟一秒钟,然后可以再次点击按钮,因此打开关卡场景两次。

有谁知道如何防止这种情况发生?谢谢

标签: c#androidunity3ddelegatesscene-manager

解决方案


有时:) ?看起来您的按钮有多个具有相同方法的侦听器。也许这只是发生在您在同一个游戏会话中多次单击同一个按钮。

您的代码: playLevel.onClick.AddListener(delegate { LoadLevel();})

当您每次单击时,此代码将您的方法块委托给侦听器。我想只是尝试 playLevel.onClick.RemoveAllListeners() 或者在委托一个新的之前使用 playLevel.onClick.RemoveListener(-your actionCall-) 删除一个特定的(如果你不想全部删除)。


推荐阅读