当前位置: 首页 > news >正文

罗城建设局网站六安市百姓畅言六安杂谈

罗城建设局网站,六安市百姓畅言六安杂谈,成都兴光华城市建设公司网站,河北建筑工程信息网站一、事件监听接口 1、作用 用于实现类型长按、双击、拖拽等基础控件无法实现的功能 所有控件都能够添加更多的事件监听来处理对应的逻辑 2、事件监听接口类型 (1)常用事件接口 (2)不常用事件接口 3、使用事件监听接口 &#…

一、事件监听接口

1、作用

用于实现类型长按、双击、拖拽等基础控件无法实现的功能
所有控件都能够添加更多的事件监听来处理对应的逻辑

2、事件监听接口类型

(1)常用事件接口

在这里插入图片描述

(2)不常用事件接口

在这里插入图片描述

3、使用事件监听接口

(1)使用方法

a、引用命名控件using UnityEngine.EventSystems;
b、继承接口
c、实现接口中的内容
d、将该脚本挂载到想要监听自定义事件的UI控件上

(2)具体实现例子

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;public class L8 : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler,IPointerDownHandler,IPointerUpHandler
{public void OnPointerEnter(PointerEventData eventData){print("鼠标进入");}public void OnPointerExit(PointerEventData eventData){print("鼠标离开");}public void OnPointerUp(PointerEventData eventData){print("鼠标抬起");}public void OnPointerDown(PointerEventData eventData){print("鼠标按下");}
}

4、PointerEventData参数的关键内容

在这里插入图片描述

5、总结

(1)好处

可以实现一些长按、双击拖拽等功能

(2)坏处

不方便管理,需要自己写脚本继承接口挂载到对应控件上,比较麻烦

二、事件触发器

1、作用

EventTrigger,集成了所有事件接口的脚本,可以更加方便地位控件添加事件监听

2、如何使用事件触发器

(1)拖拽脚本进行关联

在这里插入图片描述
在这里插入图片描述

(2)使用代码进行添加关联

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;public class EnvTrigger : MonoBehaviour
{public EventTrigger envTrigger;// Start is called before the first frame updatevoid Start(){//声明一个希望监听的事件对象EventTrigger.Entry entry = new EventTrigger.Entry();//声明 事件的类型entry.eventID = EventTriggerType.PointerDown;//监听函数关联entry.callback.AddListener((data) =>{print("鼠标按下" + "  " + data);});//将声明好的事件对象 加入到EventTrigger中envTrigger.triggers.Add(entry);}
}

3、总结

EventTrigger可以让我们写更少的代码,可以在面板类中处理面部控制的事件逻辑,更加的面向对象,便于管理

三、屏幕坐标转UI坐标

1、RectTransformUtility类

RectTransformUtility类,是RectTransform的辅助类
主要用于进行一些坐标的转换
其中最重要的函数就是将屏幕控件上的点,转换成UI本地坐标下的点

2、将屏幕坐标转换成UI本地坐标系下的点

(1)方法

RectTransformUtility.ScreenPointToLocalPointInRectangle(参数一,参数二,参数三,参数四)
参数一:相对父对象
参数二:屏幕点
参数三:摄像机
参数四:最终得到的点
一般配合拖拽事件使用

public void OnDrag(PointerEventData eventData){Vector2 UIposition;RectTransformUtility.ScreenPointToLocalPointInRectangle(this.transform.parent as RectTransform,eventData.position,eventData.pressEventCamera,out UIposition);this.transform.localPosition = UIposition;print("屏幕坐标" + eventData.position);print("UI坐标" + UIposition);}

四、遮罩

1、作用

在不改变图片的情况下,让图片在游戏中只显示其中一部分

2、使用方法

(1)关键组件 Mask

实现遮罩效果需要添加Mask组件
通过在父对象上添加Mask组件即可遮罩其子对象

(2)注意点

想要被遮罩的Image需要勾选Maskable
只要父对象添加了Mask组件,那么所有的UI子对象都会被遮罩
遮罩父对象图片的制作,不透明的地方显示,透明的地方被遮罩

五、模型和粒子显示在UI之前

1、模型显示在UI之前

(1)方法一:直接用摄像机渲染3D物体

Canvas的渲染模式不能是覆盖模式
摄像机模式和世界模式都可以让模型显示在UI之前(Z轴元素在UI元素之前即可)
注意点:
摄像机模式时建议用专门的摄像机渲染UI相关
面板上的3D物体建议也用UI摄像机进行渲染

(2)方法二:将3D物体渲染在图片上,通过图片显示

专门使用一个摄像机渲染3D模型,将其渲染内容输出到Render Texture上
类似小地图的制作方式
再将渲染的图显示在UI
该方式,不管Canvas的渲染模型是哪种都可以使用

2、粒子特效显示在UI之前

粒子特效的显示和3D物体类似
注意点:
在摄像模式下时,可以在粒子组件的Renderer相关参数Order in Layer中改变排序层,让粒子特效始终显示在其之前不受z轴影响

六、异形按钮

1、什么是异形按钮

图片形状不是传统矩形的按钮

2、如何让异形按钮能够准确点击

(1)通过添加子对象的形式

在这里插入图片描述
增加多个透明子对象,将透明子对象拼凑出异形形状,从而实现异形按钮

(2)通过代码改变图片的透明度相应阈值

在这里插入图片描述

	public Image image;// Start is called before the first frame updatevoid Start(){image.alphaHitTestMinimumThreshold = 0.1f;}

七、CanvasGroup

1、作用

实现整体控制一个面板的淡入淡出或者整体禁用

2、主要属性

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/341193/

相关文章:

  • 手机app网站模板下载海珠建网站公
  • 做网站 需要买云服务器吗洛阳专业做网站公司
  • 怎么建网站链接中国企业500强江阴有几家
  • 深圳网站建设ejaketwordpress中英文网站
  • 河南县公司网站建设杭州网站
  • 中国建设网站齐齐哈尔市昆明智能网站推广价格
  • 我想做网站服务器选用什么网站备案的好处有哪些
  • 网站建设方案书人员资金安排网站还是app
  • 网站标签怎么改网站建设中提示页面下载
  • 怎么查一个网站的域名高品质的网站开发
  • 做防水施工 上什么网站找电商小程序制作一个需要多少钱
  • 网站推广优化怎么做最好短视频素材网
  • 园艺建设网站网站建设优化服务机构
  • 中兴建设有限公司网站让Wordpress只支持手机访问
  • 上海做兼职上哪个网站网站添加ico图标
  • 站内免费推广个人网站空间购买
  • 建设部网站13清单新材料 东莞网站建设
  • 企业宽带 做网站深度系统
  • 怎么做返利网站icp ip 网站备案查询系统
  • 外贸公司网站建设费用免费asp网站程序下载
  • 顺义区做网站茶叶门户网站建立
  • 巩义旅游网站设计公司网站制作建设
  • php是网站开发的语言吗莱芜雪野湖有什么好玩的
  • 建设工程敎育网网站手机网站幻灯片
  • 东莞网站推广怎么做湖南网站建设方案优化
  • 基础微网站开发信息动态型网站建设
  • 天津网站建设方案外包求职seo推荐
  • 网站开发 教学大纲wordpress 内容 只调图片大小
  • 网站建设与规划计算机网站开发毕业设计论文开题报告
  • 防网站模板网站建设 典型材料