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

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

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

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

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

  1. public void RunAnimatorOpen()
  2. {
  3. m_Animator.SetBool("move", true);
  4. }
  5.  
  6. public void RunAnimatorStop()
  7. {
  8. m_Animator.SetBool("move", false);
  9. }

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

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

RunAnimatorOpen

RunAnimatorStop

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

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

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

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

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

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

  1. ETCInput.SetControlActivated("LeftJoystick", false);
  2. 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. 关于NavigationItem.rightBarButtonItem设置

    转自:http://blog.csdn.net/zhuzhihai1988/article/details/7701998 第一种: UIImage *searchimage=[UIImage ima ...

  2. Django视图之视图函数

    下面来说说常见的视图函数: HttpResponse() Http404() HttpResponseNotFound() 上面三个函数功能比较简单,用得少,就不多说了! render() rende ...

  3. ORACLE 仿照原表建表语法

    用于: 1.修改表前,可用于对原表表结构或表数据的备份 2.仿照原表的表结构建立一张新表 CREATE TABLE T_XXXX_BAK_130810 AS SELECT * FROM T_XXXX ...

  4. 给singer的左侧添加fixedTitle,并显示向上滚动偏移效果;

    1.将写好的dom绝对定位到顶部: 2.dom值为singerlist的currentIndex.title(通过计算属性获取),如果有则显示fixedTitle,没有则隐藏: 3.计算diff:当d ...

  5. 基于python的直播间接口测试实战 详解结合项目

    基于python的直播间接口测试详解 一.基本用例内容描述 以设置白名单 /advisor/setUserWhiteList.do接口为例,该方法为POST at first,先要导入一些常用到的模块 ...

  6. 转载:Jmeter教程索引

    摘自: 阳光温暖了心情 的 http://www.cnblogs.com/yangxia-test/category/431240.html 1 JMeter学习(一)工具简单介绍 2 JMeter学 ...

  7. iOS NSURLConnection使用详解

    一.整体介绍 NSURLConnection是苹果提供的原生网络访问类,但是苹果很快会将其废弃,且由NSURLSession(iOS7以后)来替代.目前使用最广泛的第三方网络框架AFNetworkin ...

  8. R-tree 一种空间搜索的动态索引结构

    译林:R-tree 一种空间搜索的动态索引结构Antonm Guttman 摘要为了有效地处理空间数据,正如在计算机辅助设计和地理数据应用中所要求的那样,数据库需要一种索引机制能根据它们的空间位置快速 ...

  9. [app]温度传感器测试程序

    刚开始去读/dev/i2c-1, 但是在设置地址的时候,始终错误,返回-1, 所以最后还是用了sys接口 /******************************************* * ...

  10. _STORAGE_WRITE_ERROR_

    :( _STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/User/788524be80db1959c132efbce25367a0.php 错误位置 ...