• 【Unity3D】UGUI之Dropdown


    1 Dropdown属性面板

            在 Hierarchy 窗口右键,选择 UI 列表里的 Dwondown (下拉列表)控件,即可创建 Dwondown 控件,选中创建的 Dwondown 控件,按键盘【T】键,可以调整 Dwondown 控件的大小和位置。

            创建 Dwondown 控件时,系统会自动为其创建一系列控件,如下:

            Dropdown 控件的属性面板如下:

             说明:Options 中可以增删选项,并且可以给每个选项添加不同背景图片,也可以通过如下方式增删选项:

    1. Dropdown dropdown = GetComponent();
    2. // 增加选项
    3. dropdown.options.Add(new Dropdown.OptionData("Four"));
    4. // 删除选项
    5. dropdown.options.Remove(dropdown.options[2]);

    2 Dropdown 注册事件

            点击 OnValueChanged 下面的 “+” 号,可以为下拉列表添加响应事件,可以添加多个事件。

            1)注册已有组件的方法

            点击 OnValueChanged 下面的 “+” 号,将 Dropdown 下面的 Label 拖拽到 OnValueChanged 面板里,选择 GameObject.name,下方文本设置 "Text",如下:

            切换下拉列表的选项,Label 会重命名为 “Text”,如下:

            2)注册脚本组件里面的方法

            给 Dropdown 控件添加 DropdownController 脚本组件如下:

            SliderController.cs

    1. using UnityEngine;
    2. public class DropdownController : MonoBehaviour {
    3. public void OnDropdown1() {
    4. Debug.Log("Dropdown1");
    5. }
    6. public void OnDropdown2(string msg) {
    7. Debug.Log("Dropdown2, msg=" + msg);
    8. }
    9. public void OnDropdown3(int index) {
    10. Debug.Log("Dropdown3, index=" + index);
    11. }
    12. }

            注意:待注册的方法,最多只能提供 1 个参数, 当参数为 int 类型时,入参表示选择的选项序号(index)

            点击 OnValueChanged 下面的 “+” 号,将 DropdownController 脚本组件拖拽到 OnValueChanged 面板里,选择 DropdownController.OnDropdown1 方法;再点击 OnValueChanged 下面的 “+” 号,将 DropdownController 脚本组件拖拽到 OnValueChanged 面板里,选择 DropdownController.OnDropdown2 方法,其下方输入"xxxx";点击 OnValueChanged 下面的 “+” 号,将 DropdownController 脚本组件拖拽到 OnValueChanged 面板里,选择 DropdownController.OnDropdown3 方法。如下:

             切换下拉列表的选项,打印日志如下:

            3)代码里注册事件

            给 Dropdown 控件添加 DropdownController 脚本组件如下:

            DropdownController.cs

    1. using UnityEngine;
    2. using UnityEngine.UI;
    3. public class DropdownController : MonoBehaviour {
    4. private void Start() {
    5. Dropdown dropdown = GetComponent();
    6. dropdown.onValueChanged.AddListener(OnValueChanged);
    7. }
    8. public void OnValueChanged(int index) {
    9. Debug.Log("OnValueChanged, index=" + index);
    10. }
    11. }

            注意:AddListener 方法里只能添加入参为 int 类型的方法,可以添加多个方法。 

            切换下拉列表的选项,打印日志如下:

  • 相关阅读:
    线程——进程与线程——day10
    无线传感器网络:网络层
    java---IO流:特殊操作流
    二维码智慧门牌管理系统:确保数据准确,强制校验GPS信号强度
    C#上位机序列10: Winform上位机通用框架
    tomcat8 优化
    银行企业如何通过企微scrm解决用户获取和转化难题?
    模方4.1.0新版本正式上线啦!
    Python多进程 multiprocessing
    [轻松学会shell编程]-5、计划任务
  • 原文地址:https://blog.csdn.net/m0_37602827/article/details/125813802