搖桿是如何實現的

大家在玩手機網遊的時候都注意過移動人物的前後左右鍵,那麼它是如何實現的呢?今天博主就爲大家揭開這個迷惑;
首先我們要建立兩個父子關係的Image,通過Source Image分別將他們模型放進去
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述
接下來我們通過腳本來控制搖桿;
首先我們要引入一個命名空間
Using UnityEngine.EventSystems;
繼承接口
IDragHandler,IEndDragHandler
首先定義一個方向
private Vector3 direction;
因爲我們的搖桿在控制時有一個限制,所以我們定義一個移動的最大距離;
public float maxDistence;
public void OnDrag(PointerEventData eventData)
{
transform.position=Input.MousePosition;
if(Vector3.Distance(Vector3.zero,transform.localPosition)>maxDistence)
{
direction=transform.localPosition-Vector3.zero;
//方向等於當前位置減去中心座標
transform.localposition=direction.normalized*maxDistence;
//位置等於在該方向的最大距離

  }

}
public void OnEndDrag(pointEventData eventData)
{
transform.localPosition=Vector3.zero;
//當拖拽鬆開時,位置迴歸中心點。
}
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章