unity OnGui 实现下滑菜单选框
时间: 2024-05-19 20:10:30 浏览: 138
你可以使用OnGUI函数来实现下拉菜单选框。下面是一个示例代码:
```csharp
using UnityEngine;
public class DropdownMenu : MonoBehaviour
{
private bool showDropdown = false;
private int selectedOption = 0;
private string[] options = { "Option 1", "Option 2", "Option 3" };
private void OnGUI()
{
if (GUILayout.Button("Select Option"))
{
showDropdown = !showDropdown;
}
if (showDropdown)
{
Rect dropdownRect = new Rect(0, 30, 150, 20 * options.Length);
GUILayout.BeginArea(dropdownRect);
GUILayout.BeginVertical("box");
for (int i = 0; i < options.Length; i++)
{
if (GUILayout.Button(options[i]))
{
selectedOption = i;
showDropdown = false;
}
}
GUILayout.EndVertical();
GUILayout.EndArea();
}
GUILayout.Label("Selected option: " + options[selectedOption]);
}
}
```
在这个例子中,我们使用布尔变量`showDropdown`来控制下拉菜单的显示和隐藏。当点击"Select Option"按钮时,`showDropdown`的值会被切换。下拉菜单使用`GUILayout.BeginArea`和`GUILayout.EndArea`来限制其在屏幕上的位置。
在循环中,我们使用`GUILayout.Button`创建每个选项的按钮。当点击选项按钮时,我们更新`selectedOption`的值,并将`showDropdown`设置为false以隐藏下拉菜单。
最后,我们使用GUILayout.Label显示当前选中的选项。
希望这可以帮助到你!
阅读全文