unity3d自带的虚拟摇杆显然没有EasyTouch好用

首先下载这个插件

http://pan.baidu.com/s/1hqJAbTa

下载完成后。导入到unity,可以看看里面的案例

找到这个可以自己看看效果

现在我们利用这个插件来做一个自己的虚拟摇杆

导入插件后。把EasyTouch导入到视图中,这里有C#和js两类。我选择C#

你会发现

右边的属性

一般默认就可以了

Enable EasyTouch:属性设置是否启用

接下来在项目中添加一个虚拟摇杆

Scene视图的左下角则多了一个摇杆

层次视图中也多了一个对象

来看看这个对象的一些主要属性

修改摇杆的名字。可以在代码中找到这个摇杆。

比如一个场景中有多个摇杆。可以通过摇杆判断是触发了那个

摇杆的位置设置。这个一看就知道。

摇杆的事件和贴图设置,

在场景中自己添加一个角色。给其添加脚本 MoveController.cs

using UnityEngine;
using System.Collections;/// <summary>
/// 用来接收遥感事件控制角色的移动
/// </summary>
public class MoveController : MonoBehaviour
{Animator animator;public float speed = 5;//移动速度void Awake(){animator = GetComponent<Animator>();}// Use this for initializationvoid Start(){}// Update is called once per framevoid Update(){}/// <summary>/// 脚本启用时触发 ,注册事件/// </summary>public void OnEnable(){EasyJoystick.On_JoystickMove += new EasyJoystick.JoystickMoveHandler(EasyJoystick_On_JoystickMove);EasyJoystick.On_JoystickMoveEnd += new EasyJoystick.JoystickMoveEndHandler(EasyJoystick_On_JoystickMoveEnd);}/// <summary>/// 移动摇杆结束/// </summary>/// <param name="move"></param>void EasyJoystick_On_JoystickMoveEnd(MovingJoystick move){//停止时,角色恢复idle//Movejoystick 当前移动的摇杆名称。if (move.joystickName == "Movejoystick"){animator.SetBool("Run", false);}}/// <summary>/// 摇杆移动中/// </summary>/// <param name="move"></param>void EasyJoystick_On_JoystickMove(MovingJoystick move){if (move.joystickName != "Movejoystick"){return;}//获取摇杆中心偏移坐标float joyPositionX = move.joystickAxis.x;float joyPositionY = move.joystickAxis.y;//开始移动if (joyPositionX != 0 || joyPositionY != 0){//设置角色的朝向 (朝向当前坐标+摇杆偏移量)//Vector3 targetPos = new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY)//orVector3 targetPos = transform.position + new Vector3(joyPositionX, 0, joyPositionY) * Time.deltaTime * speed;transform.LookAt(targetPos);//玩家移动//transform.Translate(Vector3.forward * targetPos);//利用刚体移动
            rigidbody.MovePosition(targetPos);//播放奔跑动画animator.SetBool("Run", true);}}/*Button Interaction&Events* 中勾选use specific method* Down method name:按下执行一次* Press method name:按下一直执行* Up method name:按下弹起执行一次*//// <summary>/// 按下执行该事件,只执行一次/// Down method name/// </summary>void Attack(){//播放攻击动画//animator.SetBool("Attack", true);
    }/// <summary>/// 按下一直触发该事件/// Press method name/// </summary>void PressAttack(){animator.SetBool("Attack", true);}/// <summary>/// 触摸或者鼠标弹起 执行该事件 只执行一次/// Up method name/// </summary>void StopAttack(){animator.SetBool("Attack", false);}
}

然后再添加一个杀怪的按钮

此时右下角会显示

属性都很简单

可以参考:

http://blog.csdn.net/dingxiaowei2013/article/details/19967041

http://blog.csdn.net/qinyuanpei/article/details/26204177?utm_source=tuicool

EasyTouch中虚拟摇杆的使用EasyJoystick相关推荐

  1. EasyTouch 学习之——ETCJoystick 虚拟摇杆

    ETC Joystick 继承自 ETCBase类, 并且要实现 PointerEnterHandler  IDragHandler, IBeginDragHander IPointerDownHan ...

  2. Unity中实现虚拟摇杆

    一:效果演示 二:使用 --创建一个可操作的区域Joystick作为父物体,调整Joystick大小以控制可以操作的区域 --在可操作区域下创建摇杆背景Background --在摇杆背景下创建摇杆控 ...

  3. unity中的2D虚拟摇杆和3D虚拟摇杆

    源代码链接https://github.com/hiramtan/HiJoystick_unity 如何使用 可以从此链接下载最新的unity package: 完成功能 2D虚拟摇杆 3D虚拟摇杆 ...

  4. EasyTouch5 之 Joystick 虚拟摇杆

    一.EasyTouch 资源结构 EasyTouchBundle [插件的根目录] |-EasyTouch [插件核心,核心功能的实现,偏向底层] |-EasyTouchControls [插件控制器 ...

  5. Unity3d项目入门之虚拟摇杆

    Unity本身不提供摇杆的组件,开发者可以使用牛逼的EasyTouch插件或者应用NGUI实现相关的需求,下面本文通过Unity自身的UGUI属性,实现虚拟摇杆的功能. 主参考 <Unity:使 ...

  6. 《Cocos Creator游戏实战》虚拟摇杆实现

    虚拟摇杆实现 摇杆布局实现 摇杆功能实现 用摇杆控制主角 该功能已收录在Many Widgets插件中,使用Cocos Creator 3.x版本的小伙伴可以用该插件快速生成摇杆. 插件地址:http ...

  7. 360度虚拟摇杆控制机器人前进后退转弯(一)

    项目需求 最近做一个项目,要求使用虚拟摇杆控制机器人设备前进后退转弯,整个过程的思路不算复杂,写篇文章记录下大致思路 (1)黄色圆不动时候 小车速度为0 (2)拖动摇杆 拖动距离越大 小车速度越大 距 ...

  8. 自定义虚拟摇杆组件让你一劳永逸

    最近在研究虚拟摇杆实现方式的时候,发现网上的教程的实现方式可移植性并不是特别好,于是我决定自己实现一个虚拟摇杆组件,保存到自己的组件库,方便以后用到的时候直接使用(关注公众号后台回复「虚拟摇杆组件」可 ...

  9. 【四方向型】虚拟摇杆 C#代码部分(1)--基本参数与动画方法

    参数属性设置 控制器根直径为60,半径为30:总直径为214,半径为107. 根直径为60像素,半径即为30像素:虚拟摇杆总直径为214像素,半径为107像素.点击位置距离中心点的距离在30像素以内的 ...

最新文章

  1. Linux记录-TCP状态以及(TIME_WAIT/CLOSE_WAIT)分析(转载)
  2. 讯闪菜单密码去除方法
  3. Linux(9)--添加新用户+赋sudo权限
  4. asp.net mvc 注册中的邮箱激活功能实现(二)
  5. Linked List Cycle | ||
  6. 拓端tecdat|基于数据挖掘SVM模型的pre-incident事故预防预测分析报告
  7. Unity2017安装
  8. BCB6使用ReportMachine创建报表
  9. 基站查询网址、软件、API接口汇总
  10. 游戏1024设计分析
  11. 常用的计算机网络设备有,常用网络设备有哪些,初学者必须要知道的五大网络设备...
  12. tensorflow笔记-文本情感分类
  13. java redis 通知_Jboot实现Redis操作事件通知
  14. ZZULIOJ:1071: 分解质因子
  15. 网页微信,微信 1101,1102原因汇总
  16. 新手坐高铁怎么找车厢_新手坐高铁怎么找车厢 - TABUZHE
  17. Arduino Ethernet构建简易服务器
  18. Camtasia喀秋莎2020中文版秘钥强大的录屏工具
  19. 爬百度翻译的英文同义词
  20. iphone用GDB修改游戏教程!详细的图文教程!

热门文章

  1. gridview SelectedIndexChanged事件
  2. 快递电子面单 对接快递鸟
  3. css模拟蜡烛火焰效果
  4. 软件工程基础个人项目——数独终局生成求解
  5. java判断按钮已选择的值_如何获取buttonGroup的选定单选按钮的值 - java
  6. 程序人生,他人之章,可以受益
  7. Python语言程序设计基础(第二版)P93答案示例
  8. oracle flashback table 参数,oralce flashback 使用方法总结
  9. 最简单的 MRTs(Multi Render Targets)的完整代码示例【OpenGL】
  10. android EditText限制输入框只能输入某些特殊字符、汉字、数字、英文字母等