Unity虚拟摇杆的实现方法

 更新时间:2020年04月15日 14:19:09   作者:yy763496668  
这篇文章主要为大家详细介绍了Unity虚拟摇杆的实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Unity实现虚拟摇杆的具体代码,供大家参考,具体内容如下

设置摇杆的背景图片的锚点如下:

设置摇杆的锚点为背景图片的中心点。

并给摇杆绑定脚本如下:

using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections;
using System;

public class JoyStickController : MonoBehaviour,IDragHandler,IEndDragHandler {
  //最大的拖动距离
  public float maxDragDistance = 50f;
  //虚拟摇杆的方向
  public Vector3 direction;
  //玩家
  public GameObject player;
  // Use this for initialization
  void Start()
  {

  }

  // Update is called once per frame
  void Update()
  {
    //屏幕上的y轴分量 当作游戏世界里的z分量
    //设置玩家的朝向
    player.transform.forward = new Vector3(direction.x,0,direction.y);
    int flag = Vector3.Distance(Vector3.zero, this.transform.localPosition) <1f ? 0 : 1;
    player.transform.Translate(Vector3.forward * flag * Time.deltaTime,Space.Self);

  }
  //拖拽中的时候
  public void OnDrag(PointerEventData eventData)
  {
    this.transform.position = Input.mousePosition;
    if (Vector3.Distance(Vector3.zero,this.transform.localPosition) > maxDragDistance)
    {
      direction = this.transform.position - Vector3.zero;
      this.transform.localPosition = direction.normalized * maxDragDistance;
    }
  }
  //拖拽结束的时候
  public void OnEndDrag(PointerEventData eventData)
  {
    this.transform.localPosition = Vector3.zero;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • LINQ排序操作符用法

    LINQ排序操作符用法

    这篇文章介绍了LINQ排序操作符的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#中抽象类与接口的区别详解

    C#中抽象类与接口的区别详解

    本文主要介绍了C#中抽象类与接口的区别。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • c# base关键字的具体使用

    c# base关键字的具体使用

    base关键字用于从派生类中访问基类的成员,本文主要介绍了c# base关键字的具体使用,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • C#实现快捷键的几种常用方法汇总

    C#实现快捷键的几种常用方法汇总

    这篇文章主要介绍了C#实现快捷键的几种常用方法,非常实用,需要的朋友可以参考下
    2014-08-08
  • C#实现的xml操作类完整实例

    C#实现的xml操作类完整实例

    这篇文章主要介绍了C#实现的xml操作类,包含C#针对xml的创建、删除、遍历、插入等常见操作,需要的朋友可以参考下
    2016-06-06
  • C#实现属于自己的QQ截图工具

    C#实现属于自己的QQ截图工具

    这篇文章主要为大家详细介绍了C#实现属于自己的QQ截图工具的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C# XML操作类分享

    C# XML操作类分享

    这篇文章主要分享了C# XML操作类的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C#单例类的实现方法

    C#单例类的实现方法

    这篇文章主要介绍了C#单例类的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • C#中计算时间差中的小数问题解决

    C#中计算时间差中的小数问题解决

    C#中计算时间差中的小数问题解决需要的朋友可以参考一下
    2013-03-03
  • C#中获取各种文件名的实现方式

    C#中获取各种文件名的实现方式

    这篇文章主要介绍了C#中获取各种文件名的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论