Unity UGUI通过摇杆joystick 控制角色移动 (第三人称 类似王者荣耀,英雄联盟手游)
-
例子效果图片 (文章最后会提供下载地址 demo下载地址 备注:资源是URP的,普通平台可按文章修改或修改资源材质即可
包含资源和例子,要实现王者荣耀,英雄联盟手游第三人称跟随相机只需加 一句代码 Vector3.Lerp()这一句代码 或者直接做成人物子物体更简单粗暴) -
原代码
声明变量
初始化,控制角色移动
控制遥杆UI位置
/// <summary>
/// 当鼠标开始拖拽时
/// </summary>
/// <param name="eventData"></param>
public void OnDrag(PointerEventData eventData)
{
//获取鼠标位置与初始位置之间的向量
Vector2 oppsitionVec = eventData.position - moveBackPos;
//获取向量的长度
float distance = Vector3.Magnitude(oppsitionVec);
//最小值与最大值之间取半径
float radius = Mathf.Clamp(distance, 0, maxRadius);
//限制半径长度
analogLeft.position = moveBackPos + oppsitionVec.normalized * radius;
}
/// <summary>
/// 当鼠标停止拖拽时
/// </summary>
/// <param name="eventData"></param>
public void OnEndDrag(PointerEventData eventData)
{
analogLeft.position = moveBackPos;
analogLeft.localPosition = Vector3.zero;
}
- 文章最后如果有疑问的可以私聊我,也可以下载示例代码(包括场景,人物和脚本)
Demo下载地址 备注:资源是URP的,普通平台可按文章修改或修改资源材质即可