第一步:新建两个Joystick,分别改名LeftJoyStick和RightJoyStick

在LeftJoyStick的ETC Joystick-Axes properties中的Horizontal axis-General setting中将要控制的人物Player拖入框中,action选translate,Affected action选 X

到现在位置,就可以通过左摇杆控制人物移动了,人物移动太快怎么办,Speed调慢点即可。

下面开始设置人物移动时要调用Move动画,用bool控制,这个事先做好这里不再阐述,那么如何调用呢?

打开Player角色下的Player脚本(原先键盘控制的脚本),添加两个公开函数

 public void RunAnimatorOpen()
{
m_Animator.SetBool("move", true);
} public void RunAnimatorStop()
{
m_Animator.SetBool("move", false);
}

然后在leftjoystick的etc的MoveEvents框中的OnMoveStart()和OnMoveEnd()

分别将Player角色物体拖入target框选择Gameobject.BroadcastMessage,下面分别填入

RunAnimatorOpen

RunAnimatorStop

这时候摇杆移动就会调用RunAnimatoropen函数,不移动就调用RunAnimatorStop函数,从而达到控制动画的效果。

第二步,开始对右摇杆设置,首先在Player脚本添加下面一段

 public void MoveInRightJoyStick(Vector2 weizhi)
{
if (weizhi.y != || weizhi.x != )
{
//设置角色的朝向(朝向当前坐标+摇杆偏移量)
transform.LookAt(new Vector3(transform.position.x + weizhi.x, transform.position.y, transform.position.z + weizhi.y));
}
}

简单来说就是easytouch通过OnMoveSpeed传出一个Vector2,所以我们要在Player脚本创一个函数(变量是Vector2)用于接受传出的Vector2,并且利用这个与人物的位置构成一个矢量,再用LookAt就能控制人物朝向了。

调试没问题后,但是发现死亡后还能移动和旋转,怎么办?

第三步,原本在人物Player下有一个HealthManager的脚本,里面有个Dead()的函数,一旦hp<=0后就会禁用有关脚本的调用,这时我们只要在函数中其中加两句

 ETCInput.SetControlActivated("LeftJoystick", false);
ETCInput.SetControlActivated("RightJoystick", false);

即可实现死亡后双摇杆的禁用,到此时就大功告成!!

Unity5.5+easytouch5双摇杆控制角色移动的更多相关文章

  1. 游戏开发之在UE4中编写C++代码控制角色

    当你运行我们上次做完的项目,你可能会意识到我们移动的摄像机还是默认的那个摄像机,这个默认的摄像机可以自由飞翔.这一节,我们要使得开始的角色是我们的一个Avatar类的实例对象,并且使用键盘控制我们的角 ...

  2. unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色

    在写第三人称控制的时候,一开始在电脑测试是用WASD控制角色 后来需要发布到手机上,于是就加了一个摇杆 键盘控制角色的代码已经写好了,角色八方向移动 如果按照传统的大众思路来控制的话,是达不到我想要的 ...

  3. CocosCreator游戏开发(四)实现摇杆控制角色功能

    时隔3年,我又开始继续写这个系列的帖子了,也不知道是会写完全系列,还是再次夭折. 废话不多.直接开始主题了 主要实现的功能点包含这些内容:通过摇杆控制角色进行八方位移动,并按照各方位播放对应移动动画 ...

  4. Unity控制角色移动

    Copy代码前的准备工作 整体结构 建立个空对象命名随意,主要是为了:角色掉出地图时,可以回到空对象的位置 在建立个空对象命名为Player,放到PlayResurrectionPoints子级下,并 ...

  5. unity---角色控制器控制角色移动

    获取对象 public CharacterController cc; cc=gameObject.GetComponent<CharacterController>(); if(Inpu ...

  6. [Unity3D]Unity3D游戏开发之角色控制漫谈

    各位朋友,大家好.我是秦元培,欢迎大家关注我的博客,我的博客地址blog.csdn.net/qinyuanpei.今天呢,我们来说说Unity3D中的角色控制,这篇文章并非关注于Unity3D中的某项 ...

  7. 【Unity】10.4 类人动画角色的控制

    分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 导入角色网格和动画及设置 Avatar 之后,就可以准备开始在游戏中使用它们了.以下部分涵盖 Mecanim 提供的.用 ...

  8. unity3D角色代码控制问题

    ///////////////2015/07/06//////// ///////////////by xbw////////////// //////////////环境 unity4.6.1// ...

  9. CharacterController 角色控制器实现移动和跳跃

    之前我使用SimpleMove来控制角色的移动, 后来又想实现人物的跳跃, 看见圣典里面是使用Move来实现的. =.= 然后我都把他们改成move来实现了 代码实现: using UnityEngi ...

随机推荐

  1. [na][dhcp]华为DHCP-重要

    近日遇到遇到控制器和wac对接的一些问题.尤其是地址池这块排查起来比较费事,且这些命令不容易找到,以下是能经常用到的命令. 1,查看ip是否冲突: (看下conflict字段) 2,防止冲突命令: 3 ...

  2. ny214 单调递增子序列(二) 动态规划

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序 ...

  3. npm 的指令介绍

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...

  4. 【Maven】maven打包生成可执行jar文件

    http://blog.csdn.net/u013177446/article/details/53944424 ******************************************* ...

  5. USB 转LAN AX88772B 模块驱动添加记录

    使用 AX88772B 模块进行扩展百兆网口. 资料地址: http://www.asix.com.tw/cs/products.php?op=pItemdetail&PItemID=105; ...

  6. sqlserver日期函数<转>

    一.sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基 ...

  7. 配置TOMCAT 修改默认ROOT路径

    本文转载http://xxs673076773.iteye.com/blog/1134805 最合适的) 最直接的办法是,删掉tomcat下原有Root文件夹,将自己的项目更名为Root. 我在$to ...

  8. C10K并发连接_转

    转载:http://blog.csdn.net/wangtaomtk/article/details/51811011 1 C10K问题 大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小 ...

  9. Lua语言开发Cocos2d-x游戏视频教程第L0401课-Cocos2d-x中使用Lua

    http://www.eoeandroid.com/thread-320733-1-1.html

  10. 一、VM8.0 + CentOS 6.5 连接网络

    VM8.0 + CentOS 6.5 连接网络