项目中,有可能会遇到图片不是方形的。比如是圆形的。这个时候,我们希望鼠标点击到圆形的部分,才算点击。点击到方形的空白部分不算点击
1.png (26.36 KB, 下载次数: 0) 下载附件 保存到相册 2015-12-8 17:21 上传 可能有这样的需求。 那这个时候,如果按照UGUI的正常图片的处理,是把四个角的透明区域也算作是点击的区域了。也就是UGUI默认的点击区域是图片的周围大小。如果遇到上面需求。我们可以按照下面步骤来处理。 原理: UGUI在处理控件是否被点击的时候,在检测图片的时候,会调用Image的IsRaycastLocationValid( )方法 该方法会获取当前图片点击点的透明度,如下代码片段
只有当前点击的图片的当前点的透明度超过了设置的m_EventAlphaThreshold阈值。才返回真。返回真的情况下,这个UI控件才表示被点击了。 所以,我们可以来修改这个值。这个值是 0-1之间的。 但是,我们同时又看到它catch了一个异常。这个异常是要求我们对图片进行处理。图片不能以Sprite的形式导入。需要使用如下设置
也就是把图片设置成可读写的。 设置好了图片之后,来编写代码
这样就修改了图片的点击时候,判断是否真的点击到图片内容了。可以过滤掉透明的像素。只有点击到有颜色的地方,才算是真实的点击 |
unity 圆环分区 unity圆形按钮
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章