1.在Canvas下新建一个空对象作为我们的摇杆,命名为Joystick。

摇杆由背景和杆两部分组成,所以在Joystick下新建一个Image作为摇杆的背景,命名为BG。

在BG下新建一个Image作为摇杆的杆,命名为stick,背景和杆的位置和颜色自行调整,结构如下。

2.为BG和stick的Source Image属性添加一个圆形图片,或使用自己准备的素材。

3.新建脚本文件“Joystick”,并挂在Joystick上。

4.在脚本中添加“using Unity Engine.UI;”,并使脚本继承自ScrollRect,然后就可以直接使用ScrollRect中的属性了!

5.返回unity界面看看多了哪些属性,

将Elasticity属性设置成0,拖动摇杆时人物移动,松开摇杆时人物就要立刻停止移动,就是说松开杆时,杆要立刻复位,Elasticity设置成0时杆就会立刻复位,数值越大复位的速度越慢。

如上图所示,我们需要将BG拖到Viewport上,把stick拖到Content上,此时如果运行项目会发现摇杆已经可以拖动了。

6.我先说明一下脚本中会用到的两个属性,如下图:

知道了背景宽度也就知道了背景的半径,我们需要把杆的移动范围控制在半径之内。

然后我们将杆的位置赋值给一个向量,通过在外界调用这个向量也就得到了杆的移动方向,有了这个方向也就有了人物的移动方向,代码如下:

7.需要注意挂载摇杆脚本的对象的位置要设置成(0,0),因为content的局部坐标是以挂载摇杆脚本的对象的位置为基准的。

8.在控制人物移动的代码如下:

joystick.stickPos表示杆的移动方向。

用Unity的UGUI实现简单摇杆的更多相关文章

  1. unity使用UGUI创建摇杆

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

  2. Unity 3D UGUI Toggle用法教程

    UGUI Toggle用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

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

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

  4. Unity用Excel.dll简单读取Excel内容

    Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...

  5. Unity Shader-后处理:简单均值模糊

    一.简介   今天来学习一下后处理中比较常用的一种效果,屏幕模糊效果.模糊效果,在图像处理中经常用到,Photoshop中也有类似的滤镜.我们在游戏中也会经常用到.因为屏幕模糊效果是一些高级后处理效果 ...

  6. Unity GUI(uGUI)使用心得与性能总结

    Unity GUI(uGUI)使用心得与性能总结 作者 kingshijie 关注 2015.09.26 15:35 字数 3686 阅读 28031评论 10喜欢 49 背景和目的 小哈接触Unit ...

  7. 在Unity中用UGUI制作可输入下拉框

    Unity中UGUI制作可输入下拉框 目录 Unity中UGUI制作可输入下拉框 前言 组件分析 制作流程 总结 前言 在搜索引擎以及一些网页中我们常常可以看见这样一种UI控件,看上去是一个输入框,在 ...

  8. 【Unity】UGUI系列教程——拼接一个简单界面

    0.简介: 在目前的游戏市场上,手游依然是市场上的主力军,而只有快速上线,玩法系统完善的游戏才能在国内市场中占据份额.而在手游开发过程中,搭建UI系统是非常基本且重要的技能,极端的说如果对Unity的 ...

  9. Unity基于NGUI的简单并可直接使用的虚拟摇杆实现(一)

    可能大家都听说过大名鼎鼎的easytouch,然而easytouch是基于UGUI的,两种不同的UI混用,可能会造成项目管理的混乱,并且可能会出现各种幺蛾子,比如事件传递互相扰乱的问题. 于是就想找一 ...

随机推荐

  1. Operating System-Thread(3)用户空间和内核空间实现线程

    http://www.cnblogs.com/Brake/archive/2015/12/02/Operating_System_Thread_Part3.html 本文主要内容: 操作系统用户空间和 ...

  2. BZOJ3786:星系探索(Splay,括号序)

    Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球 ...

  3. Hadoop学习之路(十)HDFS API的使用

    HDFS API的高级编程 HDFS的API就两个:FileSystem 和Configuration 1.文件的上传和下载 package com.ghgj.hdfs.api; import org ...

  4. JSP九大内置对象和四大作用域和Servlet的三大作用域对象

    一.JSP九大内置对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 内置对象特点: 由JSP规范提供,不用编写者实例化. 通过Web容器实现和管理 所有 ...

  5. linux-top命令查看内存CPU

    转自:https://www.cnblogs.com/dragonsuc/p/5512797.html 查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ...

  6. sqlite学习笔记8:C语言中使用sqlite之创建表

    前面已经说了怎样打开和关闭数据库,这次要说得是怎样运行SQL语句,来创建一张表. 要用的的函数: sqlite3_exec(sqlite3* db, const char *sql, sqlite_c ...

  7. 【取色】ColorMania

    取色剂软件

  8. RAC配置笔记

    Iscsi常用命令(我通过openfiler实现iscsi存储) # iscsiadm -m discovery -t st -p IP:port     //发现iSCSI存储 # iscsiadm ...

  9. 在hue平台上使用oozie工作流调度

    在实习期间,公司使用的hue平台做的数仓,下面就简单介绍一下hue的一些使用的注意事项,主要是工作流的使用和调度 进入hue首页: Workflow是工作流,Schedule是调度工作流的,如设置工作 ...

  10. 用NI的数据采集卡实现简单电子测试之2——绘制三极管输出特性曲线(面)图

    本文从本人的163博客搬迁至此. 想设计几个实验,既能展示NI的LabVIEW和数据采集卡的功能特点,又能够让普通电类专业本科学生可以理解,自然首先想到了<电子技术基础>课程的内容.第一个 ...