Unity手游之路<六>游戏摇杆之Easy Touch 3教程

之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单。但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材;能指定在某个区域显示,或者只有在该区域触摸时才出现等等。而这些功能,Easy Touch插件都已经帮你实现了。全部是可配置。大家可以从Asset Store上购买,或者使用free版。

(可随意分享,请注明原文出处http://blog.csdn.net/janeky/article/details/17364903

  • 实例

还是用上次例子来实现。控制角色的移动

  • 步骤

1.import “Easy Touch 3”的资源包
2.创建人物模型
3.创建地形
4.添加一个Joystick的实例 :Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。这时我们可以看到它在左下角出来
5.设置摇杆的相关的参数,详见下图

6.新建一个脚本MoveController.cs 用来接收摇杆的事件,控制角色的移动。代码如下:

[csharp] view plain copy

  1. using UnityEngine;
  2. using System.Collections;
  3. public class MoveController : MonoBehaviour {
  4. void OnEnable()
  5. {
  6. EasyJoystick.On_JoystickMove += OnJoystickMove;
  7. EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;
  8. }
  9. //移动摇杆结束
  10. void OnJoystickMoveEnd(MovingJoystick move)
  11. {
  12. //停止时,角色恢复idle
  13. if (move.joystickName == "MoveJoystick")
  14. {
  15. animation.CrossFade("idle");
  16. }
  17. }
  18. //移动摇杆中
  19. void OnJoystickMove(MovingJoystick move)
  20. {
  21. if (move.joystickName != "MoveJoystick")
  22. {
  23. return;
  24. }
  25. //获取摇杆中心偏移的坐标
  26. float joyPositionX = move.joystickAxis.x;
  27. float joyPositionY = move.joystickAxis.y;
  28. if (joyPositionY != 0 || joyPositionX != 0)
  29. {
  30. //设置角色的朝向(朝向当前坐标+摇杆偏移量)
  31. transform.LookAt(new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));
  32. //移动玩家的位置(按朝向位置移动)
  33. transform.Translate(Vector3.forward * Time.deltaTime * 5);
  34. //播放奔跑动画
  35. animation.CrossFade("run");
  36. }
  37. }
  38. }

完成收工,具体的效果图

最后我们来看看Easy Touch的参数

  • 总结

Easy Touch提供了虚拟摇杆的解决方案,基本能满足你的各种需求。包括前面所说的,定制UI,隐藏,指定区域等。可以在你的项目中尝试使用

时间: 2024-10-12 22:03:49

Unity手游之路<六>游戏摇杆之Easy Touch 3教程的相关文章

游戏摇杆之Easy Touch 3教程

之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单.但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材:能指定在某个区域显示,或者只有在该区域触摸时才出现等等.而这些功能,Easy Touch插件都已经帮你实现了.全部是可配置.大家可以从Asset Store上购买,或者使用free版. (可随意分享,请注明原文出处http://blog.csdn.net/janeky/article/details/17364903) 实例 还是用上次例子来实

Unity手游之路&lt;十三&gt;手游代码更新策略探讨

这几个月公司项目非常忙,加上家里事情也多,所以blog更新一直搁置了.最近在项目开发上线过程中遇到了一些新问题,接下来的时间和大家多多探讨学习.大家在工作中遇到技术问题,或者有什么想分享的,欢迎多多探讨 [email protected] ----------------------------------------------------------------------------------------------------------------------------------

Unity手游之路&lt;八&gt;自动寻路Navmesh之入门

http://blog.csdn.net/janeky/article/details/17457533 在的大部分mmo游戏都有了自动寻路功能.点击场景上的一个位置,角色就会自动寻路过去.中间可能会有很多的障碍物,角色会自动绕过障碍物,最终达到终点.使用Unity来开发手游,自动寻路可以有很多种实现方式.第一种比较传统的是使用A星寻路,它是一种比较传统的人工智能算法,在游戏开发中比较常用到.大部分的页游和端游都用到这种技术.在Unity游戏也可以用这种技术,Asset Store上面已经有相关

Unity手游之路&lt;二&gt;Java版服务端使用protostuff简化protobuf开发

http://blog.csdn.net/janeky/article/details/17151465 开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信.之前我们介绍了Unity游戏前端使用protobuf的方法.今天我们来谈谈服务端如何使protobuf.游戏服务端语言百花齐放,除了比较传统的c/c++外,Java,Erlang,Python都有很多团队在使用. 今天推荐一下Java作为服务端开发语言.国内很多出色的页游和手游都是采用Java作为服务端语言的.比如<神曲

Unity手游之路手游代码更新策略探讨

版权声明: https://blog.csdn.net/janeky/article/details/25923151 这几个月公司项目非常忙.加上家里事情也多,所以blog更新一直搁置了. 近期在项目开发上线过程中遇到了一些新问题,接下来的时间和大家多多探讨学习. 大家在工作中遇到技术问题,或者有什么想分享的,欢迎多多探讨 ken@iamcoding.com. -------------------------------------------------------------------

Unity手游之路&lt;十&gt;自动寻路Navmesh之跳跃,攀爬,斜坡

http://blog.csdn.net/janeky/article/details/17598113 在之前的几篇Blog总,我们已经系统学习了自动寻路插件Navmesh的相关概念和细节.然而,如果要做一个场景精美的手游,需要用到各种复杂的场景地形,而不仅仅是平地上的自动寻路.今天我们将通过一个完整的复杂的实例,来贯穿各个细节.我们将实现一个复杂的场景,角色可以在里面攀爬,跳跃,爬坡.是不是感觉很像当年的CS游戏呢?本案例将会用得一些基本的动画函数,大家可以先结合文档有个大概的了解.本实例是

Unity手游之路&lt;十二&gt;手游资源热更新策略探讨

http://blog.csdn.net/janeky/article/details/17666409 上一次我们学习了如何将资源进行打包.这次就可以用上场了,我们来探讨一下手游资源的增量更新策略.注意哦,只是资源哦.关于代码的更新,我们稍后再来研究.理论上这个方案可以使用各种静态资源的更新,不仅仅是assetbundle打包的. (转载请注明原文地址http://blog.csdn.net/janeky/article/details/17666409) 原理 现在的手游安装有几种方式.一种

Unity手游之路&lt;七&gt;角色控制器

向原创致敬http://blog.csdn.net/janeky/article/details/17406095 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作,实现我们所期望的功能.今天我们就一起系统来学习相关的内容吧. Charactor Controller(角色控制器) "角色控制器允许你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体.角色控制器不受力的影响,仅仅当你调用Mov

Unity手游之路&lt;九&gt;自动寻路Navmesh之高级主题

http://blog.csdn.net/janeky/article/details/17492531 之前我们一起学习了如何使用Navmesh组件来实现最基本的角色自动寻路.今天我们再继续深入探索Navigation组件的高级功能.在本文中,你将了解到如何在两个隔离层自动生成寻路网格?如何手动指定寻路网格的路线?以及寻路网格层的应用.(本文所用到的模型皆来自Unity3d官网). (转载请注明原文地址http://blog.csdn.net/janeky/article/details/17