在游戏开发中,我们有时需要制作不规则形状的按键。

Unity3d中使用UGUI的Button控件只能实现规则的长方形按钮。而通过给Button的Image组件添加对应的贴图(sprite)我们可以实现外观上的各异形状,但是Button所在的矩形块中的部分空白区域仍能相应点击,如下图所示

Unity 制作不规则形状button

在本项目中, 我们利用unity的Image提供的alphaHitTestMinimumThreshold属性, 这个属性提供了一个阈值来限制射线检测生效的alpha值。也就是说,比如我们将阈值设为0.5(该值类型为float,有效范围0到1),那么点击Image上像素的alpha值小于0.5的区域时,程序是不会检测到点击事件的。

1.编写脚本设置image的alphaHitTestMinimumThreshold属性

代码第一行获取button控件的image,第二行将image的alpha阈值设置为0.1。然后我们写一个方法,每次按下按钮时就进行一次计数并显示,来测试是否按钮为不规则按钮

Unity 制作不规则形状button

2.将对应的sprite的Read/Write Enabled设置打开

Unity 制作不规则形状button

验证一下效果:

Unity 制作不规则形状button

相关文章:

  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-03
  • 2021-04-26
  • 2021-10-03
  • 2022-12-23
猜你喜欢
  • 2021-10-12
  • 2022-03-06
  • 2022-01-25
  • 2021-09-20
  • 2021-09-27
  • 2021-07-25
  • 2022-01-19
相关资源
相似解决方案