【Unity】新手引导遮罩

可参考这里UGUI 新手引导遮罩控件

解释一下思路:

 public bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera)
{
     // 点击在箭头框内部则无效,否则生效
     return  !RectTransformUtility.RectangleContainsScreenPoint(arrow, sp, eventCamera);
}

上面的代码是用来判断射线是否能穿透的,只有点击在透明的小框里射线才会穿透

然后在protected override void OnFillVBO(List<UIVertex> vbo)中绘制遮罩。我们知道,计算机绘制图形其实是绘制三角形,这里面小框的上下左右共四个正方形,需要绘制8个三角形。绘制的过程如代码所示,每3个点决定一个三角形,但是三角形会共用定点,故依次加入决定三角形的顶点,然后计算机会绘制出这几个三角形。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值