unity3d游戏开发之控制模型移动旋转与碰撞

unity3d游戏开发之控制模型移动旋转与碰撞

ID:38796279

大小:506.50 KB

页数:8页

时间:2019-06-19

unity3d游戏开发之控制模型移动旋转与碰撞_第1页
unity3d游戏开发之控制模型移动旋转与碰撞_第2页
unity3d游戏开发之控制模型移动旋转与碰撞_第3页
unity3d游戏开发之控制模型移动旋转与碰撞_第4页
unity3d游戏开发之控制模型移动旋转与碰撞_第5页
资源描述:

《unity3d游戏开发之控制模型移动旋转与碰撞》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、上一章介绍了模型的旋转与平移,本章介绍一些好玩的,通过按钮来控制模型的移动与镜头的跟随,脚本参数的传递。个人觉得unity3D这套游戏引擎真的很棒,它可以为开发者节省时间。用更多少的脚本,可以实现更多的功能。先赞一下,哇咔咔~废话不多说了,入正题!    首先在3D世界中创建一个箱子模型,然后添加一个脚本,命名为  js0绑定到这个箱子中。在添加一个脚本,命名为js1,同样绑定到这个箱子上,用来实现对象的创建与调用方法参数的传递~  出自狗刨学习网    varControl;  这里声明一个控制

2、类的对象,用来进行参数的传递,调用方法。    Getomponent(js1):得到脚本名称为js1的对象,这里把值赋给Control,就可以使用js1脚本中的方法了,下面的代码中通过这个对象调用模型的移动方法。    Input.GetKey(KeyCode):这个方法返回一个Bool判断当前按键是否被按下,当然这里只能运行在PC上才可以感应按钮,因为IOS的设备上没有按键,以后我会介绍在IOS上添加游戏摇杆的功能,本章我们先学习一下PC上的基本按钮响应。    下面代码    实现按下“W”

3、控制物体向前    实现按下“S”控制物体向后    实现按下“A”控制物体向左平移    实现按下“D”控制物体向右平移    实现按下“Q”控制物体向左旋转    实现按下“E”控制物体向右旋转    js0.js代码1.//旋转移动速度2.varSpeed=50;3.4.//控制对象5.varControl;6.7.functionUpdate()8.{9.  //得到控制对象10.  Control=GetComponent(js1);11.12.  //判断按键13.14.  if(In

4、put.GetKey(KeyCode.W))15.  {16.      //前进17.        Control.ForWard();18.19.  }elseif(Input.GetKey(KeyCode.S))  20.  {21.      //后退22.      Control.Back();23.  }1.2.  if(Input.GetKey(KeyCode.A))3.  {4.      //前左5.        Control.GLeft();6.7.  }elseif(

5、Input.GetKey(KeyCode.D))  8.  {9.      //后右10.      Control.GRight();11.  }12.13.  if(Input.GetKey(KeyCode.Q))14.  {15.    //左旋转16.17.  Control.leftRotate(Vector3.up*Time.deltaTime*-Speed);18.19.  }elseif(Input.GetKey(KeyCode.E))20.  {21.  //右旋转22.   

6、 Control.RightRotate(Vector3.up*Time.deltaTime*Speed);23.24.  }25.26.}复制代码      js1.js代码     参数的传递可以使用obj进行传递,代码中我将旋转的角度做为参数传递到了js1.js中控制模型旋转。    Vector3标示一个3D的向量单位,它可以标示模型的三个方向,这里根据旋转的角度与移动的向量设置它。    //前进速度varSpeed=50;//前进functionForWard(){transform.

7、Translate(Vector3.forward*Time.deltaTime*Speed);}//后退functionBack(){transform.Translate(Vector3.forward*Time.deltaTime*-Speed);}//向左functionGLeft(){transform.Translate(Vector3.right*Time.deltaTime*-Speed);}//向右functionGRight(){transform.Translate(Vect

8、or3.right*Time.deltaTime*Speed);}//传递参数//左旋转functionleftRotate(obj){transform.Rotate(obj);}//右旋转functionRightRotate(obj){transform.Rotate(obj);}1.//前进速度2.varSpeed=50;3.4.//前进5.functionForWard()6.{7.  transform.Translate(Vector3.forward*Time.de

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

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

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