上篇:(可供使用)
下篇:(供学习者学习)
摇杆素材:
https://pan.baidu.com/s/1FdcLgPvvUIft7CWbHpmLbQ
提取码:22z9
UI阶段
步骤:
1.在Canvas下新建一个GameObject(空物体),命名为LeftButtomPin,锚点设置为左下,默认大小即可。
2.在LeftButtomPin下新建一个 image,将该 image 命名为 imgTouch,透明度设为0,宽高自己设置(推荐:Pox:200,Pox:165 Poz:0 Width:400 Height:330),作用:摇杆点击的触碰。
3.在 imgTouch 新建一个image,命名为 imgDirBg ,将摇杆背景赋给 imgDirBg. 大小自己设置。(后期会用到,这里本人是 Width 150 Height 150 )
4.在imageDirBg 下新建一个image ,命名为 imgDirPoint. 大小自己设置。(后期会用到,这里本人是 Width 50Height 50)
效果图:
代码阶段
代码脚本请按顺序复制粘贴。
新建第一个脚本:命名为PEListener, 用于监听按钮的触碰,不用挂给物体,此脚本为工具脚本
using System;
using UnityEngine;
using UnityEngine.EventSystems;
public class PEListener : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler
{
public Action<PointerEventData> onClickDown; //监控按下的操作
public Action<PointerEventData> onClickUp; //监控抬起的操作
public Action<PointerEventData> onDrag; //监控按下拖拽的操作
// 按下后会调用此方法,eventData 是所返回的参数,会反馈摇杆点的位置,方向信息.
public void OnPointerDown(PointerEventData eventData)
{
if (onClickDown != null)
{
onClickDown(eventData);
}
}
public void OnPointerUp(PointerEventData eventData)
{
if (onClickUp != null)
{
onClickUp(eventData);
}
}
public void OnDrag(PointerEventData eventData)
{
if (onDrag != null)