Unity 不规则图形点击
分享一个项目中用的着的小功能(Unity不规则图形点击)
在使用UGUI组件时,`通常会遇到一下不规则图形点击。如图
现有的UGUI Button时间没办法处理重叠部分的点击事件。所以查了下资料,利用Polygon Collider2D检测实现重叠部分的点击效果。实现效果如下
实现方式如下
1.创建的Button按钮Image不勾选RaycastTarget
2. 在Button按钮下创建空物体Click,并添加脚本PolygonClick.cs。空物体的大小要大于不规则图形的大小。通过PolygonCollider2D 的Edit Collider编辑自己需要的不规则多边形点击区域。然后就完事了
核心脚本PolygonClick.cs代码如下,比较简单,也都写了注释。不规则点击的事件就完事了,比较简单的一个功能,给需要的童鞋一个参考。路过的且用的着的童鞋麻烦给个赞,多谢。
using UnityEngine;
using UnityEngine.UI;[RequireComponent(typeof(PolygonCollider2D))]
public class PolygonClick : Image
{private new Collider2D collider;protected override void Start(){var c2d = GetComponent<Collider2D>();if (c2d != null)collider = c2d;base.Start();}public override bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera){if (!raycastTarget)return false;if (collider != null){var worldPoint = Vector3.zero;//将屏幕空间点转换为世界空间中给定RectTransform平面上的位置//返回值:如果RectTransform的平面被击中,则返回true,而不管这个点是否在矩形内。var isInside = RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform,sp,eventCamera,out worldPoint);if (isInside)isInside = collider.OverlapPoint(worldPoint); //判断是否在多边形包围区域内return isInside;}else{return base.IsRaycastLocationValid(sp, eventCamera);}}
}
Unity 不规则图形点击相关推荐
- Unity使用bounds绘制不规则图形边框
Unity使用bounds绘制不规则图形边框 for (int i = 0; i < screenList.Count; i++) { if (screenList[i].activeSelf ...
- canvas绘制不规则图形,点击获取当前图形索引
canvas给不规则图形添加点击事件 有这么一个需求,把传过来的四个坐标,连成一个图形(可能是规则的,也可能是不规则的),点击某个图形,显示当前这个图形的信息 //数据格式 dataList: {lo ...
- 使用CSS 3创建不规则图形
2019独角兽企业重金招聘Python工程师标准>>> 前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中.本篇文章的目的是为大家开启它的冰山一角.我希望这篇文章 ...
- 不规则图形数格子的方法_【微课堂】人教版五年级数学(上)6.5不规则图形的面积图文精讲+教学视频+同步练习...
小学生精选资料库,家有小学生都在关注 更多资料.微课堂,请至文末 人教教材同步微课堂(包括视频微课.教材同步.图文讲解.同步练习等),可以在课堂之外帮助同学们学习.欢迎转发给更多的同学哦~~ 电子课本 ...
- 不规则图形数格子的方法_北师大版五年级数学上册数学6.1组合图形的面积微课堂、同步练习、图文解读...
点击上方蓝字关注我们! 电子教材 点击图片,查看大图 ▼▼▼ 微课堂 知识点 知识点:了解组合图形:有几个简单的图形拼出来的图形,我们把它们叫做组合图形. 计算组合图形的面积的方法是多种多样的.一般运 ...
- CocosCreator实现不规则的点击区域监听
CocosCreator实现不规则的点击区域监听 开发一个农场小游戏,用常规的点击区域,会产生点击区域重叠问题.(展示的图片是已经调整为cc.PolygonCollider方法之后) 查询网上的方法, ...
- Android开发之不规则图形按钮响应
这是我在网上找了不少资料后,总结下来的简单不规则图形按钮制作方法. 如果我们想在安卓开发时设计漂亮的按钮,很可能会用到图片按钮,但是图片按钮响应区域是长方形的,比如下图 如果里面的月亮和云彩是用图片按 ...
- Cocos Creator实现不规则区域点击
问题背景 在CocosCreator中,点击图片透明区域依然触发节点的点击事件.但在web开发中,可以使用Inkscape.SvgPathEditor等矢量图编辑器转为SVG,或者直接从figma中导 ...
- WPF入门(三)-几何图形之不规则图形(PathGeometry) (2)
WPF入门(三)->几何图形之不规则图形(PathGeometry) (2) 原文:WPF入门(三)->几何图形之不规则图形(PathGeometry) (2) 上一节我们介绍了PathG ...
最新文章
- iOS开发笔记-两种单例模式的写法
- CS9:转载:怎样配置Win Radius 当使用Cisco交换机时
- 常见的CSS属性和值CascadingStyleSheets
- 5G为中企业解决业务上的五个挑战—Vecloud
- 51Nod 蜥蜴和地下室(搜索)
- python练习题-day8
- JavaFX官方教程(九)之转换
- linux常用指令(持续更新)
- 因“5毛钱”惹众怒的丰巢:我错了,下次还敢
- DataX不支持Mysql8.x
- Js屏蔽键盘输入的某些字符,用以部分代替正则表达式
- STL 容器迭代器失效总结(超级详细)
- 等价类划分测试—身份证
- 计算机软考软件设计师知识点:软件可行性研究报告
- 电工和电气工程师的区别
- iOS使用电脑Safari浏览器查看真机h5网页元素
- 怎么屏蔽还有照片_【文末福利】在朋友圈发男神照片忘了屏蔽父母,麻麻的回应亮了…...
- 接口加密(TokenSpringCloud项目中进行token认证)
- 微信公众号支付 使用基于thinkphp 使用微信官网的sdk
- python海龟漂亮图案代码大全_带有海龟图案的Python花