服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - Unity虚拟摇杆的实现方法

Unity虚拟摇杆的实现方法

2022-09-01 11:23yy763496668 C#

这篇文章主要为大家详细介绍了Unity虚拟摇杆的实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

Unity虚拟摇杆的实现方法

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

并给摇杆绑定脚本如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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;
  }
}

Unity虚拟摇杆的实现方法

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

原文链接:https://blog.csdn.net/yy763496668/article/details/77606391

延伸 · 阅读

精彩推荐
  • C#秒表计时器以及STOPWATCH(实例讲解)

    秒表计时器以及STOPWATCH(实例讲解)

    下面小编就为大家分享一篇秒表计时器以及STOPWATCH(实例讲解),具有很好的参考价值,希望对大家有所帮助...

    小玉龙6102022-02-12
  • C#C#实现简单的登录界面

    C#实现简单的登录界面

    我们在使用C#做项目的时候,基本上都需要制作登录界面,那么今天我们就来一步步看看,如果简单的实现登录界面呢,本文给出2个例子,由简入难,希望...

    C#教程网10102021-11-03
  • C#编辑IL文件 修改DLL文件的方法

    编辑IL文件 修改DLL文件的方法

    下面小编就为大家带来一篇编辑IL文件 修改DLL文件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C#教程网10632021-12-27
  • C#实例分享C#中Explicit和Implicit用法

    实例分享C#中Explicit和Implicit用法

    本篇文章主要给读者们分享了C#中Explicit和Implicit的用法,对此有需求和兴趣的朋友们一起学习下吧。...

    LamondLu的小窝10552022-02-17
  • C#C#在图片增加文字的实现代码

    C#在图片增加文字的实现代码

    最近做项目需要动态给图片增加文字(书本的封面图片),修改字体大小、字体、颜色、控制位置等,下面通过实例代码给大家分享C#在图片增加文字的实...

    空空隆隆4452022-01-10
  • C#Unity实现简单虚拟摇杆

    Unity实现简单虚拟摇杆

    这篇文章主要为大家详细介绍了Unity实现简单虚拟摇杆,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    ancoloo3792022-08-31
  • C#C# 6.0的属性(Property)的语法与初始值详解

    C# 6.0的属性(Property)的语法与初始值详解

    下面小编就为大家带来一篇C# 6.0的属性(Property)的语法与初始值详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C#教程网5792021-11-30
  • C#C#中字符串优化String.Intern、IsInterned详解

    C#中字符串优化String.Intern、IsInterned详解

    这篇文章主要给大家介绍了关于C#中字符串优化String.Intern、IsInterned的相关资料,文中通过示例代码介绍的,对大家的学习或者工作具有一定的参考学习价值...

    小匠头3772022-02-13