Unity——UI的交互

UI的事件交互必须存在EventSystem交互事件系统

Canvas的射线发射器

 

                :是否忽略反向的射线操作

                 2d或者3d还是所有的物体会遮挡这个事件

                 遮挡事件的物体所在的渲染层

 

                        是否接收Canvas的射线

如果要一个没有多余边框的范围可以将button旋转如果将图片改为透明来实现 

Button 组件

 

                是否可以进行交互 

                交互效果:

                        None 没有交互效果 

                        Color Tint 颜色的变化

                         Sprite Swap 图片的切换 

 

                 是否开启键盘导航功能

回调

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;

public class 回调 : MonoBehaviour
{
    //声明一个委托
    public UnityAction Callback;

   
    void Start()
    {
        //指定委托
        Callback = Success;
        for(int i = 0;i < 10; i++)
        {
            Debug.Log(1);
        }

        //调用委托
        Callback();
    }

    
    //Success方法
    public void Success()
    {
        Debug.Log("Success");
    }

}

按钮触发事件

        1.编写好要触发的函数 ,且放在任意一个游戏物体上

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ButtonAttack : MonoBehaviour
{
   public void Buttonattack()
    {
        Debug.Log("1234");
    }
}

        2.点击添加按下事件

         3.将游戏物体拖入,并且指定方法

 

自动添加按下事件

    /// <summary>
    /// 自动添加按钮事件
    /// </summary>
    void Start()
    {
        //先获取要添加的位置
        GameObject sub = GameObject.Find("/Canvas/Sumbit");
        //获取button组件
        Button button = sub.GetComponent<Button>();
        //添加指定的方法
        button.onClick.AddListener(Test);
    }

   void Test()
    {
        Debug.Log("789");
    }

Toggle组件

 

                组 

实现单选

        1.先创建一个空物体,然后添加Toggle Group

                

         2.将当选框添加到一个组

        ​​​​​​​        

 

        是否允许将每一个选项都关掉 

        Slider组件

        使用Slider控制音量

                1.先将游戏物体添加声音组件(Audio Source)

         2.编写控制声音的脚本,并且放在和声音组件的一个游戏物体上

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangerSlider : MonoBehaviour
{
   public void changeSlider(float v)
    {
        //获得slider传入的值,并且把这个值给音量
        this.gameObject.GetComponent<AudioSource>().volume = v;
    }
}

        3.对Slider组件进行指定

Input File组件

InputField事件

        当文本 框输入的内容改变时,执行回调函数

        当文本框结束输入时,执行回调函数

public class InputText : MonoBehaviour
{
   public void OnChage(string name)
    {
        Debug.Log("Change:" + name);
    }

    public void OnEnd(string name)
    {
        Debug.Log("End:" + name);
    }
}

Supongo que te gusta

Origin blog.csdn.net/m0_51743362/article/details/123717982
Recomendado
Clasificación