重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了unity实现手机端摇杆控制人物移动的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
成都创新互联是一家集网站建设,淮安区企业网站建设,淮安区品牌网站建设,网站定制,淮安区网站建设报价,网络营销,网络优化,淮安区网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。前言
玩过王者荣耀或者荒野行动的人,都知道,手机左下方或右下方都会有一个摇杆,滑动摇杆可以让人物向360度方向移动。没有玩过的可以看看下方图片(荒野行动手机端为例)。本篇就来讲解如何使用unity制作摇杆控制人物移动。
2种方法:
1.GUITexture制作,是unity自带的一个joystick组件,主要由GUITexture和一个JS脚本构成。优点:unity自带,使用简单方便。缺点是无法适应屏幕大小。
2.EasyTouch插件,可以实现1的功能并且克服了1的缺陷,可以适应屏幕大小。本篇文章也是主要讲解使用easyTouch插件实现摇杆控制人物移动。
准备
1.导入easyTouch包。在网上下载easyTouch的package,然后import到项目中,这时候,菜单会出现Tools。这时候摇杆我们具备了。
2.导入人物。unity功能超级强大,自带一个人物模型,叫Ethan。这个时候要导入Standard Assets。里面就有Ethan模型(具体在Standard Assets--character--ThirdPersonCharacter--Models--Ethan)。
具体实现
1.点击菜单中的tools--Hedgehog Team--EasyTouch--Extensions--Add a new joystick,这时候scene中就有了一个摇杆。
2.导入Ethan,找到Ethan直接拖到scene中就OK。
3.joystick参数设置和介绍见下图
3.写脚本,绑定到人物Ethan上。
using UnityEngine; using System.Collections; public class MoveController : MonoBehaviour { void OnEnable() { EasyJoystick.On_JoystickMove += OnJoystickMove; EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd; } //移动摇杆结束 void OnJoystickMoveEnd(MovingJoystick move) { //停止时,角色恢复状态为idle if (move.joystickName == "MoveJoystick") { GetComponent().CrossFade("idle"); } } //移动摇杆中 void OnJoystickMove(MovingJoystick move) { if (move.joystickName != "MoveJoystick") { return; } //获取摇杆中心偏移的坐标 float joyPositionX = move.joystickAxis.x; float joyPositionY = move.joystickAxis.y; //摇杆中心位置只要产生变动,即只要对摇杆进行操作 if (joyPositionY != 0 || joyPositionX != 0) { //移动玩家的位置(按朝向位置移动) transform.Translate(Vector3.forward * Time.deltaTime * 100); //播放奔跑动画 GetComponent ().CrossFade("run"); } } } #endregion
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。