1、什么是异形按钮

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

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

比如一个按钮是这样的:

那么我们实际的点击范围应该就只是箭头部分,矩形中的其他部分点击是无效的

方法一:通过添加子对象的形式

按钮之所以能够响应点击,主要是根据图片矩形范围进行判断的,其范围判断是自下而上的,意思是如果有子对象图片,子对象图片的范围也会算为可点击范围,那么就可以用多个透明图拼凑不规则图形作为按钮子对象用于进行射线检测。

步骤是:

(1)创建一个Image,赋予相应的图片

(2)在Image下创建一个Button,将Button的Text删除,变为透明,同时将其范围缩小到父对象Image范围内,将Image拖入Button的Target Graphic

(3)在Button下创建多个透明的小图片作为子对象,拼凑成Image的范围

最终在Button子对象图片的范围内点击都可以响应,例如上述例子就用了4个透明的图片来对箭头进行拼凑,最后在这个四个图片范围内点击Button都可以响应


方法二:通过代码改变图片的透明度响应阈值

(1)修改图片参数(图片资源的Inspector界面,而不是UI的Image),开启Advanced->Read/Write Enabled开关,否则会报错

Using alphaHitTestMinimumThreshold greater than 0 on Image whose sprite texture cannot be read. Texture 'ui_TY_fanhui_01' is not readable, the texture memory can not be accessed from scripts. You can make the texture readable in the Texture Import Settings. Also make sure to disable sprite packing for this sprite.

(2)创建Button,在Image组件加载上相应的图片

(3)在脚本中通过代码修改图片的响应阈值,然后将脚本挂载到Button上

该参数含义:指定一个像素必须具有的最小alpha值,以便能够认为射线命中了图片,即当像素点alpha值小于了该值,就不会被射线检测

img.alphaHitTestMinimumThreshold  = 0.1f;

而透明区域的alpha值为0,因此设置后透明区域点击便不会被射线检测,按钮也就不会响应了

相比于第一种方法,点击范围更准确,但是性能消耗更高

UGUI-- 异形按钮相关推荐

  1. QT窗口:透明与半透明、不规则异形窗口、控件透明与半透明、不规则异形按钮

    目录 1.不规则异形窗口和控件的代码原理 2.主窗口全透明 3.主窗口半透明(以白里透红为例) 4.不规则异形窗口 5.不规则异形按钮 6.使用样式表实现透明与半透明 1.不规则异形窗口和控件的代码原 ...

  2. 【UE4教程】Unreal 4.22 CustomButton 自定义按钮点击范围 异形按钮

    UE4 CustomButton 自定义按钮点击范围 异形按钮 相信大家都有见过游戏内的环形菜单,或者奇形怪状的按钮,但是UE4内的按钮只有方形的,就算做成环形或者异形菜单的样子,依然会出现点击空白处 ...

  3. android 异形button,C++:C++Builder中异形按钮的实现

    "异形"按钮非常有趣,就是按钮的形状不是标准的长方形或正方形,而有一丝"叛逆"--"异形"嘛,是不是?怎样才能实现"异形" ...

  4. android 异形按钮,Android 如何点击异形按钮

    需求如下: 设计一个类似电视遥控器的界面,需要有弧形或其他多边异形按钮 解答: 我们知道在电脑中所有图片全部都是矩形的....可能大家并没有注意到这个问题,据说是因为显示器都是矩形的. 基于这样一个条 ...

  5. 【Sketch技巧】响应式异形按钮设计

    在一些科技感强的页面中,往往含有大量的异形元素,比如 在设计这类按钮时,按钮大小完全依赖于文字长度.当按钮中的文字数不固定时,萌新们一般会根据文字长度单独调整每个按钮的长度,这样当然是有效的,但按钮特 ...

  6. unity 设置 异形按钮

    @TOC 方法一: 代码里设置按钮事件响应透明度 /// <summary>/// 异形/// </summary>public static class SpecialSha ...

  7. android 异形按钮,异形按钮的实现方法(例如:斜角按钮,星形按钮)

    2019-10-26更新: 作者jacen在新版里增加了win.region.png库, 另外在updateWindow()函数里增加了第三个参数来保存之前生成的region区域, 这样利用这个库, ...

  8. wpf异形按钮_WPF Window异形窗口演示

    我们先通过简单的效果展示,切换展示不同图片: 我们先定义图片资源文件,我们可以在window资源中定义,下面的在app.xaml文件来定义: xmlns="http://schemas.mi ...

  9. QML实现异形按钮(不规则点击区域)

    前言 在一个带圆角的 Rectangle 上放置一个 MouseArea,当点击圆角外区域时,依旧能触发点击事件.用 OpacityMask 遮罩裁出来的图形也一样. Rectangle {width ...

  10. wpf异形按钮,定制异型按钮在WPF

    I have a requirement of creating a button which takes the shapes as displayed in the picture: Can an ...

最新文章

  1. js绑定事件和解绑事件
  2. pytorch 三维点分类_三维点云分类与分割-PointNet
  3. 在WPF的WebBrowser控件中抑制脚本错误
  4. 安全手册(初稿)[转]
  5. Vue2.0+SVG实现音乐播放圆形进度条组件,传入实时百分比实现圆圈进度动画效果
  6. CCNA-第三篇-OSI模型-上
  7. scandall pro找不到扫描仪_想要高清无色差的石材图片就得用扫描仪
  8. CentOS修改yum源【噗哈哈】
  9. 计算机 未来哪种技术稀缺,2015级职业生涯规划考试试题
  10. html5模板区别,网页设计和平面设计理念的六大区别
  11. POJ1637 Sightseeing tour(判定混合图欧拉回路)
  12. 1.7.05:输出亲朋字符串
  13. 【基础教程】禁忌搜索算法【005期】
  14. 在武汉火车站转车需要出现吗_武汉打造40分钟“高铁中转站” 无需出站可换乘...
  15. 老路MBA商学课|第001课:机会成本|放弃掉的鱼,是选择熊掌的代价?
  16. 密码学三大顶会和信息安全四大顶会网址
  17. veu +Apipost下拉框选项绑定数据库
  18. 我能为IT行业做什么
  19. NVIDIA AGX xavier 系列一 刷机步骤经验总结
  20. java取当前周期、月初至月末、季度初至季度末日期

热门文章

  1. 用vim-plug装fzf插件时报错Unknown function fzf#install
  2. vc6.0创建文件时,出现很多烫烫烫解决方法- Unhandled exception in NDW.exe: 0xC0000005: Access Violation.
  3. win8计算机无法睡眠,win8系统无法进入睡眠的处理技巧
  4. 鸿蒙升级设备计划,鸿蒙品牌升级,3亿设备将搭载“超级终端”
  5. 浏览器怎样更新java,Eclipse中js文件修改后浏览器不能及时更新的解决办法
  6. 服务器端跳转与客户端跳转
  7. 大一暑假实习day5_3
  8. 华为存储FusionStorage(备份①)
  9. armv8/armv9 MMU深度学习
  10. kettle mysql 参数,Kettle集群及Mysql参数调整