首页 > 解决方案 > 为什么我在 On Value Changed () 事件中看不到动态方法?

问题描述

这是附加在画布上的脚本。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;

public class SettingsMenu : MonoBehaviour
{
    public AudioMixer audioMixer;

    public void SetVolume(float volume)
    {
        audioMixer.SetFloat("Volume", volume);
    }

    public void SetQuality(int qualityIndex)
    {
        QualitySettings.SetQualityLevel(qualityIndex);
    }
}

然后在层次结构下,例如我有 Graphics 一个 DropDown ui。在 On Value Changed 底部的 Inspector 中的 Graphics 上,我将 Canvas 拖了过去,但是当我单击 No Function > SettingsMenu 时,我可以看到 SetQuality 方法,但 Dynamic int 下的顶部也应该有 SetQuality 并且不是那里 :

没有动态整数

SetVolume 方法也有同样的问题。我以前有这个动态浮点/整数,但现在不存在了。

标签: c#unity3d

解决方案


这确实很奇怪,如果你仔细观察你看到的检查器,下拉 onValueChanged 委托不接受任何参数,在你的截图中

因此,要查看列表中的动态调用,您的方法参数必须匹配下拉 onValueChanged 委托参数,如您在此处看到的

这可能是您当前的统一版本的错误,或者如果您重新启动编辑器,它可能会消失,如果没有,请考虑更新到较新的版本。


推荐阅读