首页 > 解决方案 > 在下拉菜单中删除特定的屏幕分辨率

问题描述

我正在尝试删除下拉菜单中的一些分辨率。我想删除,因为我不会使用它。这就是我所做的(见下面的代码),

我尝试了什么:

resolutions = Screen.resolutions;
foreach(Resolution resolution in resolutions) {
    for (int i = 0; i < resolutions.Length; i++) {
        if (resolutionDropdown.options[i].text == "320 x 200") {
            resolutionDropdown.options.RemoveAt(i);
            break;
        }
    }
    resolutionDropdown.options.Add(new TMPro.TMP_Dropdown.OptionData(ResolutionToString(resolution)));
}

但我收到了这个错误:

ArgumentOutOfRangeException: 
Argument is out of range. Parameter name: index  
System.Collections.Generic.List1[TMPro.TMP_Dropdown+OptionData].get_Item (Int32 index)  
 (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:633)   
SettingsManager.OnEnable ()  
 (at Assets/Scripts/Settings/SettingsManager.cs:38)

标签: c#unity3ddrop-down-menu

解决方案


  resolutions = Screen.resolutions;
  foreach (Resolution resolution in resolutions) 
  {           
     if (ResolutionToString(resolution) != "320 x 200") 
             resolutionDropdown.options.Add(new TMPro.TMP_Dropdown.OptionData(ResolutionToString(resolution)));
  }

推荐阅读