gpt4 book ai didi

unity3d - Unity DropDown.OnValuechanged 不起作用

转载 作者:行者123 更新时间:2023-12-04 02:12:26 25 4
gpt4 key购买 nike

我正在尝试向用户选择一个选项并更新播放器首选项的场景添加一个下拉列表,并且当应用程序重新启动时,下拉列表中的选定选项应该是用户先前选择的选项。

到目前为止,我提出的代码如下。

public Dropdown mViewerTypeDropDown;
void Start () {
mDebug = (LRDebug)mScriptHolder.GetComponent<LRDebug> ();
mScriptHolder=GameObject.Find ("ScriptHolder");
mViewerTypeDropDown.captionText.text = PlayerPrefs.GetString ("Viewer Type","Generic Cardboard (Default)");

}
//The Function attached to onvaluechanged listner
public void ViewerTypeChanged(int value)
{

mViwerTypeChange = value;

switch (mViwerTypeChange) {
case 0:
mViewerType = "Generic Cardboard (Default)";
break;
case 1:
mViewerType="VR ONE (Zeiss)";
break;
case 2:
mViewerType="VR Goggles (Merge)";
break;
case 3:
mViewerType="C1-Glass (Go4D)";
break;
case 4:
mViewerType="Cardboard v1 (Google)";
break;
}

PlayerPrefs.SetString("Viewer Type",mViewerType);
PlayerPrefs.Save ();
}

这对我来说在逻辑上似乎是正确的,但我不确定我在这里缺少什么。
为了更清楚,我在编辑器中将附加的方法设为动态方法,如下所示
enter image description here

我进行了很多搜索,但由于此下拉选项是一个新选项,因此还没有很多示例。所以作为一个团结的新手,我似乎无法解决这个问题。如果有人可以帮助我,这将是一个很大的帮助。谢谢你

最佳答案

是的,您可以将下拉列表本身绑定(bind)到该方法。我有许多使用相同逻辑的下拉菜单,不需要委托(delegate)和“addListener”。

//dropdown
public void OnDropDownChanged(Dropdown dropDown)
{
Debug.Log("DROP DOWN CHANGED -> " + dropDown.value);
}
如果您使用 TextMeshPro,请使用 TMP_Dropdown。

关于unity3d - Unity DropDown.OnValuechanged 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37107817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com