Unity5.5+easytouch5双摇杆控制角色移动
第一步:新建两个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双摇杆控制角色移动的更多相关文章
- 游戏开发之在UE4中编写C++代码控制角色
当你运行我们上次做完的项目,你可能会意识到我们移动的摄像机还是默认的那个摄像机,这个默认的摄像机可以自由飞翔.这一节,我们要使得开始的角色是我们的一个Avatar类的实例对象,并且使用键盘控制我们的角 ...
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
在写第三人称控制的时候,一开始在电脑测试是用WASD控制角色 后来需要发布到手机上,于是就加了一个摇杆 键盘控制角色的代码已经写好了,角色八方向移动 如果按照传统的大众思路来控制的话,是达不到我想要的 ...
- CocosCreator游戏开发(四)实现摇杆控制角色功能
时隔3年,我又开始继续写这个系列的帖子了,也不知道是会写完全系列,还是再次夭折. 废话不多.直接开始主题了 主要实现的功能点包含这些内容:通过摇杆控制角色进行八方位移动,并按照各方位播放对应移动动画 ...
- Unity控制角色移动
Copy代码前的准备工作 整体结构 建立个空对象命名随意,主要是为了:角色掉出地图时,可以回到空对象的位置 在建立个空对象命名为Player,放到PlayResurrectionPoints子级下,并 ...
- unity---角色控制器控制角色移动
获取对象 public CharacterController cc; cc=gameObject.GetComponent<CharacterController>(); if(Inpu ...
- [Unity3D]Unity3D游戏开发之角色控制漫谈
各位朋友,大家好.我是秦元培,欢迎大家关注我的博客,我的博客地址blog.csdn.net/qinyuanpei.今天呢,我们来说说Unity3D中的角色控制,这篇文章并非关注于Unity3D中的某项 ...
- 【Unity】10.4 类人动画角色的控制
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 导入角色网格和动画及设置 Avatar 之后,就可以准备开始在游戏中使用它们了.以下部分涵盖 Mecanim 提供的.用 ...
- unity3D角色代码控制问题
///////////////2015/07/06//////// ///////////////by xbw////////////// //////////////环境 unity4.6.1// ...
- CharacterController 角色控制器实现移动和跳跃
之前我使用SimpleMove来控制角色的移动, 后来又想实现人物的跳跃, 看见圣典里面是使用Move来实现的. =.= 然后我都把他们改成move来实现了 代码实现: using UnityEngi ...
随机推荐
- linux服务器文件删除空间却未释放
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也 ...
- jsoup解析网页出现转义符问题
https://www.oschina.net/question/996055_136438 *************************************** 我要解析这个网页 htt ...
- wampserver 手动启用停用命令
1.定位到安装目录 在cmd中定位到wampserver的安装目录,如:D:\wamp\bin\apache\Apache2.4.4\bin 2.执行命令 启动apache命令httpd -k sta ...
- 【Unity笔记】UGUI物体的Rect Transform组件(Pivot中心点,Anchor锚点)
Pivot:自身中心点,图标是小蓝点.表示图片以哪个点来计算坐标值.默认在UI元素的几何中心点(0.5, 0,5). Anchor:锚点,图标是四个小三角形.表示该UI元素以父物体的哪个位置作为缩放参 ...
- JavaScrip——对话框的简单应用(判断isNaN)
综合运用 isNaN的用法:判断是不是一个合法的数字类型,是数字返回false,不是返回true 1.我们用prompt来接收输入的内容 2.通过isNaN来做判断 3.最后用alert输出结果 &l ...
- TCPdump抓包命令详解
http://starsliao.blog.163.com/blog/static/89048201062333032563/ TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组 ...
- 【大数据笔记】白话详解Zookeeper的一致性
下面内容主要摘抄于<<Hadoop实战>>,红色高亮部分是本人添加的白话注释. Zookeeper 是一种高性能.可扩展的服务. Zookeeper 的读写速度非常快,并且读的 ...
- 预留端口避免占用ip_local_reserved_ports
问题描述: 业务遇到这个情况,在重启服务时,出现1986端口被占用而无法启动,非得等该端口释放后才启动成功. 问题分析: 1986端口被该服务器上的客户端随机选取源端口给占用掉了. 解决方案: 使 ...
- awk多列匹配
1.1.1 awk多列匹配 [hadoop@st1 data]$ netstat -an|awk '$1~/tcp/&&$3~/64/{print $0}' tcp 0 ...
- Java中Calendar.DAY_OF_WEEK需要减一的原因
http://blog.sina.com.cn/s/blog_45c06e600100pm77.html ——————————————————————————————————————————————— ...