1. 程式人生 > >【Unity】新手引導遮罩

【Unity】新手引導遮罩

解釋一下思路:

 public bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera)
{
     // 點選在箭頭框內部則無效,否則生效
     return  !RectTransformUtility.RectangleContainsScreenPoint(arrow, sp, eventCamera);
}

上面的程式碼是用來判斷射線是否能穿透的,只有點選在透明的小框裡射線才會穿透

然後在protected override void OnFillVBO(List<UIVertex> vbo)中繪製遮罩。我們知道,計算機繪製圖形其實是繪製三角形,這裡面小框的上下左右共四個正方形,需要繪製8個三角形。繪製的過程如程式碼所示,每3個點決定一個三角形,但是三角形會共用定點,故依次加入決定三角形的頂點,然後計算機會繪製出這幾個三角形。