Unity实现简单虚拟摇杆
本文实例为大家分享了Unity虚拟摇杆的简单实现代码,供大家参考,具体内容如下
简单的Unity虚拟摇杆实现,有详细注释。
Game界面

Inspector界面

摇杆脚本
public class YaoGanCtrl : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
public RectTransform diPan;
public RectTransform anNiu;
public Vector2 direction;
Vector2 startPos;
public float moveRange;
public void OnBeginDrag(PointerEventData eventData)
{
//获取中心按钮的初始位置
startPos = anNiu.position;
}
public void OnDrag(PointerEventData eventData)
{
//计算摇杆方向
Vector2 newDir = eventData.position - startPos;
//计算活动范围的半径
float r = Mathf.Clamp(newDir.magnitude, -moveRange, moveRange);
//获取摇杆的单位方向
direction = newDir.normalized;
//设置中心按钮位置
anNiu.position = startPos + direction * r;
}
public void OnEndDrag(PointerEventData eventData)
{
//重置中心按钮位置
anNiu.position = startPos;
//重置单位方向
direction = Vector2.zero;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Unity实现虚拟摇杆
本文实例为大家分享了Unity实现虚拟摇杆的具体代码,供大家参考,具体内容如下 面板上设置一些属性,比如摇杆拖拽的距离,是否始终可视,是否限制虚拟摇杆位置(我是把虚拟摇杆限制在了屏幕的左下区域). 使用GetDirAndLength()方法去获得移动的方向和长度即可 using UnityEngine; /// <summary> /// 虚拟摇杆管理器 /// </summary> public class VirtualJoystickManager : MonoBehavio
-
Unity3D基于UGUI实现虚拟摇杆
虚拟摇杆在移动游戏开发中,是很常见的需求,今天我们在Unity中,使用UGUI来实现一个简单的虚拟摇杆功能. 1.打开Unity,新创建一个UIJoystick.cs脚本,代码如下: using UnityEngine; using UnityEngine.EventSystems; public class UIJoystick : MonoBehaviour, IDragHandler, IEndDragHandler { /// <summary> /// 被用户拖动的操纵杆 /// &
-
Unity实现简单的虚拟摇杆
本文实例为大家分享了Unity实现简单虚拟摇杆的具体代码,供大家参考,具体内容如下 需求:点击创建一个虚拟摇杆底盘,鼠标拖拽时候上方摇杆会跟随鼠标方向移动,并且不会超出摇杆盘范围 *摇杆功能另外实现 UI显示 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RockingIcon : MonoBehaviour { public Transform touchP
-
Unity实现简单虚拟摇杆
本文实例为大家分享了Unity虚拟摇杆的简单实现代码,供大家参考,具体内容如下 简单的Unity虚拟摇杆实现,有详细注释. Game界面 Inspector界面 摇杆脚本 public class YaoGanCtrl : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { public RectTransform diPan; public RectTransform anNiu; public Vector2 d
-
Unity实现虚拟摇杆效果
本文实例为大家分享了Unity实现虚拟摇杆效果的具体代码,供大家参考,具体内容如下 首先添加两者图片 从左到右分别是Back和Front 将Front放到Back中心 在Front身上添加脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;//导入命名空间 public class JoyStick : MonoBehavi
-
unity实现虚拟摇杆控制Virtual Joystick
本文实例为大家分享了unity实现虚拟摇杆控的具体代码,供大家参考,具体内容如下 using UnityEngine; using UnityEngine.UI; public class TouchJoystick : MonoBehaviour { public GameObject go;//需要通过虚拟摇杆控制的目标物体 public float moveSpeed = 3;//移动速度 public Image touchPoint;//摇杆轴对象 private Vector3 Or
-
unity实现手游虚拟摇杆
本文实例为大家分享了unity实现手游虚拟摇杆的具体代码,供大家参考,具体内容如下 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// 绑定到摇杆上的摇杆类,参考半径50 /// </summary> public class Rocker : MonoBehaviour { Vector2 m_o
-
Unity虚拟摇杆的实现方法
本文实例为大家分享了Unity实现虚拟摇杆的具体代码,供大家参考,具体内容如下 设置摇杆的背景图片的锚点如下: 设置摇杆的锚点为背景图片的中心点. 并给摇杆绑定脚本如下: using UnityEngine; using UnityEngine.EventSystems; using System.Collections; using System; public class JoyStickController : MonoBehaviour,IDragHandler,IEndDragHand
-
Unity3D使用UGUI开发原生虚拟摇杆
在Unity3d中开发虚拟摇杆方式有比较多,可以使用EasyTouch.FairyGUI等插件来开发.本文给大家介绍使用Unity3d的原生UGUI来开发出自己的虚拟摇杆,这样可以减少游戏资源包的大小. 先展示下效果图: 现在开发我们的开发 创建一个Image1,并且在Image1创建一个子对象Image2 在Image1中挂载一个自定义脚本,这里我命名为Joystick 脚本代码如下 using System.Collections; using System.Collections.Gene
-
Unity使用ScrollRect制作摇杆
本文实例为大家分享了Unity使用ScrollRect制作摇杆的具体代码,供大家参考,具体内容如下 一. 前言 游戏开发中,摇杆功能是很常见的,Unity的UGUI提供了ScrollRect组件,非常适合用来制作摇杆,效果如下: 二. 实现 1. 制作UI 如下,创建Rocker节点和center节点,分别为摇杆的背景图和摇杆的手柄图. Rocker节点挂上Rocker脚本(代码见文章最后),并赋值Content对象. 设置MovementType为Elastic. 2. 运行Unity进行测试
随机推荐
- Ext第一周 史上最强学习笔记---GridPanel(基础篇)
- 多条件查询的程序
- jQuery选择器之属性筛选选择器用法详解
- javascript 打印内容方法小结
- 一个用vbs查找硬盘所有分区中的指定程序的代码
- python版本坑:md5例子(python2与python3中md5区别)
- Nodejs+angularjs结合multiparty实现多图片上传的示例代码
- javascript之通用简单的table选项卡实现(二)
- 经典JavaScript正则表达式实战(附pdf)
- python中PIL安装简单教程
- JSP针对XML文件操作技巧实例分析
- 浅谈char*类型返回值和字符串常量
- php中filter_input函数用法分析
- 使用Python的内建模块collections的教程
- SQL语句实现查询Index使用状况
- 了不起的node.js读书笔记之例程分析
- 强大的jquery插件jqeuryUI做网页对话框效果!简单
- 从零学习node.js之文件操作(三)
- JavaScript动态改变div属性的实现方法
- java 线程详解及线程与进程的区别
