欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

摇杆是如何实现的

程序员文章站 2024-03-24 11:16:16
...

大家在玩手机网游的时候都注意过移动人物的前后左右键,那么它是如何实现的呢?今天博主就为大家揭开这个迷惑;
首先我们要建立两个父子关系的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;
//当拖拽松开时,位置回归中心点。
}
摇杆是如何实现的