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
-
Unity实现简单的虚拟摇杆
本文实例为大家分享了Unity实现简单虚拟摇杆的具体代码,供大家参考,具体内容如下 需求:点击创建一个虚拟摇杆底盘,鼠标拖拽时候上方摇杆会跟随鼠标方向移动,并且不会超出摇杆盘范围 *摇杆功能另外实现 UI显示 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RockingIcon : MonoBehaviour { public Transform touchP
-
Unity3D基于UGUI实现虚拟摇杆
虚拟摇杆在移动游戏开发中,是很常见的需求,今天我们在Unity中,使用UGUI来实现一个简单的虚拟摇杆功能. 1.打开Unity,新创建一个UIJoystick.cs脚本,代码如下: using UnityEngine; using UnityEngine.EventSystems; public class UIJoystick : MonoBehaviour, IDragHandler, IEndDragHandler { /// <summary> /// 被用户拖动的操纵杆 /// &
-
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进行测试
随机推荐
- AngularJS基础 ng-mouseenter 指令示例代码
- 利用vueJs实现图片轮播实例代码
- HTML页面禁用Enter键自动提交表单的方法
- vbs:一段比较精简的代码实现取得字符串的"字节"数
- 详解Java中字符流与字节流的区别
- 实现局部遮罩与关闭原理及代码
- 浅谈c#.net中巧用ToString()将日期转成想要的格式
- php 面向对象的一个例子
- asp xml 缓存类
- JavaScript DOM 对象深入了解
- 浅谈js的html元素的父节点,子节点
- 常见的javascript跨域通信方法
- 生成EAN13标准的条形码的ASP代码实例
- 用div实现像table一样的布局方法
- jquery选择器排除某个DOM元素的方法(实例演示)
- SQL Server 数据库管理常用的SQL和T-SQL语句
- MyBatis快速入门之环境搭建和单表映射
- javascript的数据类型、字面量、变量介绍
- JS溶解形式的文字切换特效
- php使用Jpgraph绘制复杂X-Y坐标图的方法