![Unity3D实现虚拟按钮控制人物移动效果_第1页](http://file4.renrendoc.com/view/73a55c24e501c4759444da78637ef16d/73a55c24e501c4759444da78637ef16d1.gif)
![Unity3D实现虚拟按钮控制人物移动效果_第2页](http://file4.renrendoc.com/view/73a55c24e501c4759444da78637ef16d/73a55c24e501c4759444da78637ef16d2.gif)
![Unity3D实现虚拟按钮控制人物移动效果_第3页](http://file4.renrendoc.com/view/73a55c24e501c4759444da78637ef16d/73a55c24e501c4759444da78637ef16d3.gif)
![Unity3D实现虚拟按钮控制人物移动效果_第4页](http://file4.renrendoc.com/view/73a55c24e501c4759444da78637ef16d/73a55c24e501c4759444da78637ef16d4.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Unity3D实现虚拟按钮控制⼈物移动效果本⽂为⼤家分享了Unity3D实现虚拟按钮控制⼈物移动的具体代码,供⼤家参考,具体内容如下创建Image的UI组件,在Image下新建⼀个Button按钮。在Image和Button上拖进Sprite图⽚在Button按钮上挂载该脚本usingSystem.Collections;usingUnityEngine;usingUnityEngine.EventSystems;usingUnityEngine.UI;publicclassMyJoystick:MonoBehaviour,IPointerDownHandler,IPointerUpHandler{publicCanvascanvas;publicstaticfloath;//h和v的值传回给player脚本,使得物体移动publicstaticfloatv;privateboolisPress=false;//Button按钮是否按下privateVector2touchPos=Vector2.zero;//按下的位置voidUpdate(){if(isPress){RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transformasRectTransform,Input.mousePosition,null,outtouchPos);//根据Canvas和Image的Rectransform位置相减得出touchPos+=newVector2(427,299);floatdistance=Vector2.Distance(Vector2.zero,touchPos);if(distance>52){//限制Button不能超出Image位置(两者位置相减得出52)touchPos=touchPos.normalized*52;transform.localPosition=touchPos;}else{transform.localPosition=touchPos;}h=touchPos.x/52;v=touchPos.y/52;}}//⿏标按下时触发publicvoidOnPointerDown(PointerEventDataeventData){isPress=true;}//⿏标按键弹起时触发publicvoidOnPointerUp(PointerEventDataeventData){isPress=false;transform.localPosition=Vector3.zero;}}在玩家⾝上挂载控制玩家移动的脚本usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassPlayerMove:MonoBehaviour{publicfloatspeed=0.1f;privatefloath=0;privatefloatv=0;voidUpdate(){//⾸先检测虚拟按键有没有移动,没有再选择键盘输⼊if(Mathf.Abs(MyJoystick.h)>0||Mathf.Abs(MyJoystick.v)>0){h=MyJoystick.h;v=MyJoystick.v;}else{h=Input.GetAxis("Horizontal");v=Input.GetAxis("Vertical");}//玩家位置移动if(Mathf.Abs(h)>0.1||Mathf.Abs(v)>0.1){Vector3targetDir=newVector3(h,0,v);transform.position+=targetDir*speed;transform.LookAt(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022火电厂铁路专用线安全管理标准
- 第十六章 区域发展 第2讲 产业转型地区的结构优化高考地理第一轮复习课件
- (高清版)DB11∕T 2385-2024 外保温复合装饰线应用技术规程
- 《信号调制解调》课件
- 2025至2031年中国抽油机专用皮带转离合器行业投资前景及策略咨询研究报告
- 《频度副词讲解》课件
- 2025至2031年中国TPE密封条行业投资前景及策略咨询研究报告
- 《母亲节主题班会》课件
- 医院药学工作转型课件
- 辐射环境监测人员持证上岗考核习题集复习测试有答案
- 国际工程项目管理课件
- 珠海市政工程竣工档案验收指南(试行上)
- 2024年广东省广州市中考英语试卷附答案
- 2024年春九年级化学下册 第九单元 溶液教案 (新版)新人教版
- 良性前列腺增生症患者围手术期的护理
- DL∕T 1610-2016 变电站机器人巡检系统通 用技术条件
- GB/T 44143-2024科技人才评价规范
- 《混合动力汽车用变速器效率台架试验方法》
- 对医院领导的批评意见怎么写更合适范文(6篇)
- 裕龙岛炼化一体化项目(一期)环境影响报告
- 2024年北京卷英语真题
评论
0/150
提交评论