unity Dropdown 下拉菜单使用和监听方法

34 篇文章 0 订阅
  public class GmOrder : AView
        {
	Dropdown dro;
    int num = 0;
    List<string> gmStr = new List<string> { "添加道具", "添加资源", "完成关卡", "完成任务", "修改挂机时间", "添加英雄", "批量添加道具", "批量添加英雄" };
void Start()
{
	dro.ClearOptions();//先清理所有
    dro.AddOptions(gmStr);添加列表
    dro.onValueChanged.AddListener(SetOrder);//监听点击
}
  private void SetOrder(int arg0)
            {
                num = arg0;
                Debug.Log(num);
            }
}

在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中创建下拉菜单有两种方法,一种是使用Unity自带的GUI元素,一种是使用Unity的UI系统。以下是两种方法的具体步骤和代码示例。 方法一:使用Unity自带的GUI元素 步骤1:在Unity场景中创建一个空对象,命名为“Dropdown”。 步骤2:在Inspector窗口中给Dropdown对象添加一个脚本,例如“DropdownScript”。 步骤3:在DropdownScript脚本中添加以下代码: ```csharp using UnityEngine; using System.Collections.Generic; public class DropdownScript : MonoBehaviour { public List<string> options = new List<string>() {"Option 1", "Option 2", "Option 3"}; // 下拉菜单选项 private int selectedOption = 0; // 当前选中的选项 private bool isDropdownOpen = false; // 下拉菜单是否展开 void OnGUI() { if (GUI.Button(new Rect(10, 10, 150, 20), options[selectedOption])) // 显示当前选中的选项 { isDropdownOpen = !isDropdownOpen; // 切换下拉菜单的展开状态 } if (isDropdownOpen) { for (int i = 0; i < options.Count; i++) { if (GUI.Button(new Rect(10, 30 + i * 20, 150, 20), options[i])) { selectedOption = i; // 更新当前选中的选项 isDropdownOpen = false; // 关闭下拉菜单 } } } } } ``` 代码说明: - options:下拉菜单的选项列表。 - selectedOption:当前选中的选项。 - isDropdownOpen:下拉菜单的展开状态。 - OnGUI():GUI绘制函数,在每一帧中调用。 - GUI.Button():GUI元素,用于创建按钮。 - Rect():GUI元素,用于创建矩形。 方法二:使用Unity的UI系统 步骤1:在Unity场景中创建一个空对象,命名为“Dropdown”。 步骤2:在Hierarchy窗口中右键,选择UI -> Dropdown,创建一个下拉菜单。 步骤3:在Inspector窗口中给Dropdown对象添加一个脚本,例如“DropdownScript”。 步骤4:在DropdownScript脚本中添加以下代码: ```csharp using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; public class DropdownScript : MonoBehaviour { public List<string> options = new List<string>() {"Option 1", "Option 2", "Option 3"}; // 下拉菜单选项 private Dropdown dropdown; // 下拉菜单组件 void Start() { dropdown = GetComponent<Dropdown>(); // 获取下拉菜单组件 dropdown.ClearOptions(); // 清空下拉菜单的选项 dropdown.AddOptions(options); // 添加下拉菜单的选项 dropdown.onValueChanged.AddListener(delegate {DropdownItemSelected(dropdown);}); // 添加选项改变的事件监听 } void DropdownItemSelected(Dropdown dropdown) { int index = dropdown.value; // 获取当前选中的选项的索引 Debug.Log("You have selected option " + options[index]); // 打印当前选中的选项 } } ``` 代码说明: - options:下拉菜单的选项列表。 - dropdown下拉菜单组件。 - Start():在脚本初始化时调用,用于初始化下拉菜单。 - dropdown.ClearOptions():清空下拉菜单的选项。 - dropdown.AddOptions(options):添加下拉菜单的选项。 - dropdown.onValueChanged.AddListener():添加选项改变的事件监听。 - DropdownItemSelected():选项改变的事件处理函数,在选项改变时被调用。 - dropdown.value:获取当前选中的选项的索引。 参考资料: - Unity Documentation: Dropdown - Unity Documentation: GUI.Button - Unity Documentation: Rect

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值