unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放

unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放

ID:14325545

大小:392.00 KB

页数:7页

时间:2018-07-27

unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放_第1页
unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放_第2页
unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放_第3页
unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放_第4页
unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放_第5页
资源描述:

《unity3d游戏开发之ios触摸屏手势控制镜头旋转与缩放》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、前几篇文章介绍了很多unity3D引擎自身的一些问题,今天我们在回到IOS设备上讨论一些触摸屏幕手势,本章的目标是通过触摸iPhone屏幕手势实现模型左右的旋转,与模型的缩放。    出自狗刨学习网    大家想一想模型的旋转,实际上是镜头的旋转。模型的缩放实际上是镜头Z轴方向的坐标。那么实现本章的内容只需要控制镜头的位置方可实现。    我们在游戏场景中创建一些简单的模型做为参照物,插一句“大家有谁知道.FBX的模型那里可以免费找到,我想在博文中加点游戏模型让场景更好看一些,可是苦于找不到有点郁闷,用公司的模型来写博文有觉得有点

2、不合适”哇咔咔,如果有知道的哥们不妨告诉我喔。啦啦啦。     我们创建一个简单的游戏平面,然后平面中放一个箱子做为旋转缩放的参照物。如下图所示,选中摄像机,给摄像机添加一个脚本名称为Move.脚本中有一个参数Target,它的作用是设置摄像头旋转移动参照物,这里把一个箱子赋值给了Target,那么左右滑动屏幕会发现箱子在旋转,两手缩放屏幕会发现箱子在放大与缩小。                          我们看看Move这条脚本,说明一下几个重要的:    这些方法都是系统自己调用的方法    functionStart

3、():游戏启动以后只调用一次,可用于脚本的初始化操作,    functionUpdate():Start()方法调用结束以后每一帧都会调用,可以在这里更新游戏逻辑。    functionLateUpdate():Start()方法调用结束以后每一帧都会调用,但是它是在Update()调用完后调用。    Move.js完整代码1.//用于绑定参照物对象1.vartarget:Transform;2.//缩放系数3.vardistance=10.0;4.//左右滑动移动速度5.varxSpeed=250.0;6.varySpee

4、d=120.0;7.//缩放限制系数8.varyMinLimit=-20;9.varyMaxLimit=80;10.//摄像头的位置11.varx=0.0;12.vary=0.0;13.//记录上一次手机触摸位置判断用户是在左放大还是缩小手势14.privatevaroldPosition1:Vector2;15.privatevaroldPosition2:Vector2;16.17.//初始化游戏信息设置18.functionStart(){19.  varangles=transform.eulerAngles;20.  x

5、=angles.y;21.  y=angles.x;22.23.      //Maketherigidbodynotchangerotation24.        if(rigidbody)25.          rigidbody.freezeRotation=true;26.}27.28.functionUpdate()29.{30.      //判断触摸数量为单点触摸31.      if(Input.touchCount==1)32.      {33.          //触摸类型为移动触摸34.       

6、   if(Input.GetTouch(0).phase==TouchPhase.Moved)35.          {36.              //根据触摸点计算X与Y位置1.                x+=Input.GetAxis("MouseX")*xSpeed*0.02;2.          y-=Input.GetAxis("MouseY")*ySpeed*0.02;3.4.          }5.      }6.7.      //判断触摸数量为多点触摸8.      if(Input.tou

7、chCount>1)9.  {10.        //前两只手指触摸类型都为移动触摸11.        if(Input.GetTouch(0).phase==TouchPhase.Moved¦¦Input.GetTouch(1).phase==TouchPhase.Moved)12.        {13.                //计算出当前两点触摸点的位置14.                        vartempPosition1=Input.GetTouch(0).position;15.      

8、                vartempPosition2=Input.GetTouch(1).position;16.              //函数返回真为放大,返回假为缩小17.              if(isEnlarge(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。