unity多屏ui不能交互

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity多屏ui不能交互相关的知识,希望对你有一定的参考价值。

参考技术A 1、首先将副相机的display设置成display1。
2、其次若使用randertexture呈现父相机画面。
3、最后取消该组件的raycasttarget属性。

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);
    

以上是关于unity多屏ui不能交互的主要内容,如果未能解决你的问题,请参考以下文章

关于Unity中UI中的Button节点

我不能在 Unity 中的游戏对象前面有 UI 元素

unity打包windows多屏窗口位置

通过 RayCast Unity 与 UI 交互

Unity——UI的交互

如何使用 Unity3D 为 iPad Pro 创建多屏体验?