实现

  1. 直接使用系统自带圆形控件图标
  2. 编写脚本, 实现UGUI拖拽事件
  3. 将多拽范围限定于给定半径和圆心的圆内
  4. 计算出等同于Input.GetAxis()的值,直接控制被控制物体

代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems; public class MyJoystick : MonoBehaviour, IDragHandler, IPointerUpHandler, IEndDragHandler
{
public float Radius = 100f;
private Vector2 center;
private RectTransform rectTransform;
// Use this for initialization
void Start()
{
rectTransform = GetComponent<RectTransform>();
center = rectTransform.position;
} public void OnDrag(PointerEventData eventData)
{
Vector2 vPos = eventData.position;
var distance = Vector2.Distance(vPos, center);
if (distance > Radius)
{
vPos = (vPos - center).normalized * Radius + center;
}
rectTransform.position = new Vector3(vPos.x, vPos.y, ); // if (TTMove)
// {
// var npos = (vPos - center) / Radius;
// TTMove.forwardInput = npos.y;
// TTMove.turnInput = npos.x;
// }
} public void OnPointerUp(PointerEventData eventData)
{
rectTransform.position = new Vector3(center.x, center.y, );
// if (TTMove)
// TTMove.forwardInput = TTMove.turnInput = 0;
} public void OnEndDrag(PointerEventData eventData)
{
rectTransform.position = new Vector3(center.x, center.y, );
// if (TTMove)
// TTMove.forwardInput = TTMove.turnInput = 0;
}
}

把脚本挂到

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

UGUI简易摇杆的更多相关文章

  1. unity使用UGUI创建摇杆

    1.现在unity做一个项目,各种插件各种包,于是项目资源就无限变大了,其实一些简单的功能可以自己写,这里就是试着使用UGUI编写一个摇杆功能 2.脚本如下: using UnityEngine; u ...

  2. ugui自制摇杆。

    珍爱生命,远离插件. 以上8个字,好好理解. 反正我是这么觉得. 我说的是unity,不是魔兽世界. 总有一天,我会一句一句写出属于自己的东西. 可以开始主题了.         如图所示,建立一个画 ...

  3. UGUI实现摇杆(模仿太极熊猫)

    核心代码: using UnityEngine; using System.Collections; using UnityEngine.UI; public delegate void Joysti ...

  4. UGUI实现摇杆

    效果图

  5. 【转】ugui自制摇杆

    http://www.cnblogs.com/duyushuang/p/4457691.html 珍爱生命,远离插件. 以上8个字,好好理解. 反正我是这么觉得. 我说的是unity,不是魔兽世界. ...

  6. [Unity] UGUI研究院之游戏摇杆

    最近在做Unity基于UGUI的摇杆,发现了一种非常简单并且巧妙的方法,原文在这里, 不过要FQ!!http://godstamps.blogspot.tw/2015/07/unity-ugui-sc ...

  7. 【转】Unity3D学习日记(二)使用UGUI制作虚拟摇杆控制摄像机

    http://blog.csdn.net/begonia__z/article/details/51178907 前天撸了一个简单的UGUI虚拟摇杆,今天我就利用前天做的虚拟摇杆做了一个简单的摄像机控 ...

  8. 【转】Unity3D学习日记(一)使用UGUI制作虚拟摇杆

    http://blog.csdn.net/begonia__z/article/details/51170059 如今手机游戏玩法多种多样,尤其使用虚拟摇杆进行格斗类游戏开发或者是MMORPG成为了主 ...

  9. 【转】UGUI实现unity摇杆

    http://blog.csdn.net/onafioo/article/details/46403801 http://www.winig.cc/archives/348 好久没有写文章了,最近在做 ...

随机推荐

  1. [LuoguP3668][USACO17OPEN]现代艺术2

    [LuoguP3668][USACO17OPEN]Modern Art2(Link) 现在你有一块长为\(N\)的画布,每次可以选择一段连续的区间进行颜色填涂,新颜色会覆盖旧颜色.每一次填涂都要耗费一 ...

  2. Loadrunner测试webservice协议总结

    Loadrunner测试webservice协议总结 一.协议选择 1.打开Virtual user generator,新建脚本,选择webservice协议

  3. python 装饰器 传递参数简单案例

    def debug(func): def wrapper(*args, **kwargs): # 指定宇宙无敌参数 print "[DEBUG]: enter {}()".form ...

  4. Web | jQuery快速上手

    jQuery伴随前端走过一段辉煌的时光,虽然现在已经慢慢的走下顶峰,但是过去的很多项目都是用jQuery写的,它的一些封装思想也非常值得借鉴,懂得jQuery是前端必不可少的. jQuery顶级对象 ...

  5. 初识shell

    shell简介 在计算机科学中,Shell俗称壳(用来区别于核),Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理, Shell 将相应的 ...

  6. linux脚本运行错误:$'ls\r': command not found

    原因在于 windows 下的换行符是 \r\n,而 linux 下的换行符是 \n 解决方案: 首先运行如下命令安装 dos2unix: yum install dos2unix -y 接下来运行如 ...

  7. koa中静态文件资源中间件实现

    项目实践过程中,会使用非常多的静态资源,怎样可以直接在浏览器中访问到这些静态资源 const fs = require('fs'); const path = require('path'); mod ...

  8. [示例] Firemonkey TreeView 父项勾选子项连动

    效果: 代码: procedure TForm1.TreeView1ChangeCheck(Sender: TObject); var i: Integer; t: TTreeViewItem; be ...

  9. DELPHI一个对付内存汇漏的办法和技巧

    DELPHI是要手动释放内存的,如果客户端程序有泄漏,可能不是很大问题, 但是如果你是用DELPHI做服务端程序,有泄漏的话,时间一长会占用很多内存,直到服务端程序要关闭重启.所以内存泄漏还是有害的. ...

  10. nRF52832 BLE_DFU空中升级OTA(三)准备升级工程(SDK14.2.0)

    准备需要加入DFU功能的工程 在工程main文件services_init函数中加入DFU服务 uint32_t err_code; // Initialize the async SVCI inte ...