gpt4 book ai didi

c# - Unity 5 UI - 分配 Dropdown.value 导致崩溃

转载 作者:行者123 更新时间:2023-12-01 22:54:09 26 4
gpt4 key购买 nike

所以,我有一个奇怪的问题。每当我尝试为 Dropdown.value 分配值时,一切都会正常,直到这部分在游戏测试期间执行为止。我的意思是,没有错误消息,什么都没有,整个统一编辑器只是崩溃了。

也没有其他可能的错误,我注释掉了整个脚本,只留下这个,然后它崩溃了。删除该行是可行的,但我需要它在实例化对象时将默认值设置为下拉列表。我还尝试分配范围内的数字(13 个元素,分配 5 也不起作用)。看起来像这样,其实没什么复杂的:

GameObject tempObj = Instantiate(PanelToInstantiate, this.transform);
Dropdown tempDrop = tempObj.transform.FindChild("Dropdown").GetComponent<Dropdown>();
tempDrop.AddOptions(GlobalData.ListOfStrings);
tempDrop.value = 5; //Normally some other variable, but I testes with straight number too

pastebin 上的完整脚本:http://pastebin.com/UgWxhuXF

选项已正确添加,并且在游戏测试期间在检查器中可见。通过代码对 dropdown.value 进行的任何更改都会导致编辑器崩溃,并且没有任何错误消息。有人能建议任何修复吗?我什至尝试从头开始重新制作整个实例化预制件,以防它损坏。我还在另一台机器上检查了该项目,仍然发生崩溃。

Unity版本:5.5.1f1

语言:C#(带有 Unity 插件的 Visual Studio 社区)

最佳答案

三天后我想通了,耶:D

所以,问题是,每次值更改时都会调用 onValueChange。即使是通过脚本。在这里,我在 Awake 中添加了监听器,因此它们在实例化后立即添加到下拉列表中...然后我更改了值,它调用了这些函数,这导致创建具有相同效果的新下拉列表,因此无限循环。

因此解决方法是在更改初始值后添加监听器。

感谢 CodingYoshi 的帮助:D

关于c# - Unity 5 UI - 分配 Dropdown.value 导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42333345/

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