为什么在On Value Changed()事件中看不到Dynamic方法?

时间:2019-09-14 08:37:38

标签: c# unity3d

这是脚本附加到画布的脚本。

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。 然后在“ In Value Changed”底部检查器中的“ Graphics”上,将Canvas拖到上方,但是当我单击“ No Function”>“ SettingsMenu”时,我可以看到SetQuality方法,但在Dynamic int下的顶部也应该有SetQuality,但不是那里:

No Dynamic int

SetVolume方法存在相同问题。 我以前有这个动态的float / int,但是现在不存在了。

1 个答案:

答案 0 :(得分:0)

这确实很奇怪,如果您仔细查看检查器,则onValueChanged委托的下拉列表中不会包含任何参数,In your screenshot

因此,要查看列表中的动态调用,您的方法参数必须与下拉式onValueChanged委托参数匹配,如您所见Here

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