UGUI按钮/滑动条/复选框/下拉框,用代码添加监听

途径

途径(一)把Lambda表达式,作为事件的监听方法传入
途径(二)方法索引+具体的监听方法

参数的类型

UI参数类型
1按钮Button
2滑动条Sliderfloat
3复选框Togglebool
4下拉框Dropdownint
5输入框InputFieldstring

参数的值

以下参数的名字,是我自己起的,最好结合以下案例代码看

Button的监听方法,不允许有参数
Slider的value参数,
Togggle的flag参数 ,
Dropdown的intIndex参数,
InputField的str参数,
相当于已知,可以直接用,这有点像out关键字修饰的参数(不同于普通方法参数,需传入实参)

案例代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestUIAddListener : MonoBehaviour
{
    public Button myBtn;
    public Slider mySlider;
    public Toggle myToggle;  
    public Dropdown myDropdown;
     void Start()
    {

        #region 途径(1)——Lambda表达式
        myBtn.onClick.AddListener(
            ()=>
            {
                Debug.Log("点了按钮");
            }
        );
        
        mySlider.onValueChanged.AddListener(
            value=> 
            {
                Debug.Log("方法二:监听Slider滑动" + "——此时Slider的浮点值是:" + value);
            }
        );
        
        myToggle.onValueChanged.AddListener(
            flag =>
            {
                Debug.Log("方法三:监听Toggle勾选"+"——此时Toggle的布尔值是:"+flag);
            }
        );
        myDropdown.onValueChanged.AddListener(
            itemIndex =>
            {
                Debug.Log("方法四:监听Dropdown的Item改变" + "——此时Dropdown的Item值是:" + itemIndex);
            }
        );
        #endregion
    #region 途径(2)——方法索引+具体的方法
    //myBtn.onClick.AddListener(Func1);
    //mySlider.onValueChanged.AddListener(Func2);
    //myToggle.onValueChanged.AddListener(Func3);
    //myDropdown.onValueChanged.AddListener(Func4);
    }//Start() end

    //public void Func1()
    //{
    //    Debug.Log("方法一:监听Button点击");
    //}
    
    //public void Func2(float value)
    //{
    //    Debug.Log("方法二:监听Slider滑动"+"——此时Toggle的布尔值是:" + value);
    //}
        
    //public void Func3(bool flag)
    //{
    //    Debug.Log("方法三:监听Toggle勾选"+"——此时Toggle的布尔值是:"+flag)
    //}
    
    //public void Func4(int itemIndex)
    //{
    //    Debug.Log("方法四:监听Dropdown的Item改变" + "——此时Dropdown的Item值是:" + itemIndex);
    //}
    #endregion
        
} //class end   
    
        

特别注意,InputField有两个Unity事件:onValueChanged(编辑进行时)和onEndEdit(编辑结束时),在其Inspector视图中可以看到这两个事件。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ListenInputField : MonoBehaviour
{
    public InputField myInputField;
    void Start()
    {
    #region 途径(1)——Lambda表达式
        myInputField.onValueChanged.AddListener(
            (string str) =>
                        {
                             Debug.Log("按“回车键”前,实时输入的内容:" + str);
                        }
                                               );
        myInputField.onEndEdit.AddListener(
             (string str) =>
                         {
                              Debug.Log("按“回车键”后,最终的文字是:" + str);
                         }
                                           );
      #endregion      
                                
        #region 途径(2)——方法索引+具体的方法                                   
        //myInputField.onValueChanged.AddListener(Func5);  
        //myInputField.onEndEdit.AddListener(Func6);                                   
    }
    //public void Func5(string str)
    //{
    //    Debug.Log("按“回车键”前,实时输入的内容:" + str);
    //}
    
    //public void Func6(string str)
    //{
    //    Debug.Log("按“回车键”后,最终的文字是:" + str);
    //}
       #endregion
}
   
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity圆形滑动是一种用户界面的控件,它可以以圆的形式展示并允许用户通过拖动滑块来选择一个值。它通常被用在需要用户进行选项选择或数值调整的场景中。 Unity圆形滑动的基本原理是将一个圆形的滑动控件与数值范围关联起来。用户可以通过点击并拖动滑块来选择一个特定的数值,滑块的位置与数值的关联通常以圆心为起点从0到360度的方式来表示。当用户拖动滑块时,可以通过监测滑块的角度或者位置的改变来获取用户的选值,并根据选值进行相应的操作。 实现Unity圆形滑动主要可以通过以下步骤: 1.创建一个圆形的背景作为滑动的底部,可以使用Unity的UI系统或者自定义绘制技术来实现。 2.在底部圆形背景上创建一个滑块,滑块的形状可以是一个小圆点或者其他你想要的形状。 3.实现用户拖动滑块的交互,可以通过监测鼠标或手指的位置变化来判断滑块的移动,并根据滑块的位置计算数值的选择。 4.根据滑块的位置或角度计算数值,可以通过线性映射或者其他的数值转换方法来将滑块的位置映射为一个数值范围内的数值。 5.根据滑块的数值进行相应的操作,例如更新游戏的属性、调整音量或其他与数值相关的操作。 总而言之,Unity圆形滑动是一种实现用户交互和数值选择的控件,通过拖动滑块来选择数值,并根据数值进行相应的操作。可以根据需求进行自定义设计和实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值