Unity自定义摇杆实现

本文介绍了如何在Unity中使用UGUI创建自定义摇杆,并通过事件实现功能。摇杆由背景和触控圆组成,可根据逻辑需求定制事件。内容包括摇杆的事件代码、方块移动应用示例、其他应用思考,如王者荣耀的操作控制。提供了一个演示工程文件供下载参考。
摘要由CSDN通过智能技术生成

#Unity自定义摇杆
Unity利用自带的UGUI进行制作摇杆,并且利用事件来自定义注册具体的实现。
摇杆只要组成就是一个背景图片和一个中心的用来触摸的圆。
具体需要哪种事件,根据自己的逻辑来判断实现,不一定所有都需要。
文末会附演示工程文件。
注意:此方式仅适用于覆盖模式画布下,相机模式下此方法不适用。
##摇杆的事件代码

public class JoyStick : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler, IEndDragHandler
{
    public float outerCircleRadius = 50;//可以拖动的最大距离

    Transform thumb;//触摸球

    Vector2 thumb_start;

    Vector2 direction;//滑动方向

    public Action<Vector2> onJoystickDownEvent;     // 按下事件
    public Action onJoystickUpEvent;               // 抬起事件
    public Action<Vector2> onJoystickDragEvent;     // 滑动事件
    public Action<Vector2> onJoystickDragEndEvent;  // 滑动结束事件

    void Start()
    {
        thumb = transform.Find("Thumb");
        thumb_start = transform.position;
        //初始化起始位置为陀螺仪的位置  下边利用减法计算相对位置
    }

    /// <summary>
    /// 按下
    /// </summary>
    pu
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值