Unity基础知识总结

来源:互联网 发布:手机淘宝客服图片 编辑:程序博客网 时间:2024/05/21 17:11
第一部分

 1Awake():唤醒脚本,此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次。


 2Start()(常用):此方法在Awake()方法之后,Update()方法之前执行,并且只执行一次   仅在Update函数第一次被调用前调用;区别于Awake(),只在脚本实例被启用时调用。一个通用模式是在MonoBehaviour.Start中用一个变量来保存一个游戏物体,然后在MonoBehaviour.Updata中使用它.


 3Update()(常用):正常更新,用于更新逻辑。每创建一个脚本,脚本中都会默认添加这个方法。此方法每帧都会由系统自动调用一次。Time.deltaTime可以获取最后一次调用Update()方法所用的时间;这个函数只有在Behaviour启用时被调用;实现组件功能时重载这个函数。


 4LateUpdate():此方法在Update()方法执行后调用,同样每一帧都调用。


 5FixedUpdate():固定更新,更新频率为0.02s


 6OnGUI():在每一帧都会由系统自动调用一次,渲染和处理GUI(图形用户界面)事件时调用。GUI类是Unity GUI 手工定位的接口(全局)。图形用户界面(Graphical User Interface,简称 GUI)是指采用图形方式显示的计算机操作用户接口。


 7、使游戏对象动(Transform

      场景中的每一个物体都有一个Transform。用于储存并操控物体的位置(position)、旋转(rotate)和缩放(scale),每一个Transform可以有一个父级,允许你分层次应用位置、旋转和缩放。可以在Hierarchy面板查看层次关系。他们也支持计数Enumerator,因此你可以使用循环遍历子物体。注意:Position是世界坐标  localPosition 本地坐标。


      在Unity里面Transform组件是有两个重要的作用,一个是表示在坐标系的位置,旋转和缩放,另外一个是GameObject的父节点是通过Transform组件来维持,Transform类是继承了IEnumerable接口,它也是一个集合的类型,可以通过foreach语句来遍历它的子对象。

 

   例如:

   public void Awake() {foreach (Transform child in transform) {child. position += Vector3.up * 10.0F;}}

 

   平移:right代表Xforward 代表Zup 代表Y

            transform.Translate (Vector3.forward);

            transform.Translate (new Vector3(10,0,0));

            transform.Translate(10,0,0);


   旋转

           transform. Rotate (new Vector3(0,10,0));


   伸缩

          transform.localScale += new Vector3 (0.1F, 0, 0);

          Vector3:3d的向量和点

          Vector3(x,y,z):  x组件,y组件,z组件

          zero  <-->  Vector3(0,0,0);        one  <-->  Vector3(1,1,1);     

          right  <-->   Vector3(1,0,0);      forword  <-->   Vector3(0,0,1); 

          up  <-->   Vector3(0,1,0);

         Angle:fromto两者返回一个角度。?


  8、按键控制:

       GetKey  通过名称指定的按键被用户按住时返回true


       GetKeyDown 当用户按下指定名称的按键时的那一帧返回true


      if (Input.GetKey(“down”或者KeyCode.Escape))

 

      print("X轴负方向移动 ");

  


       GetKeyUp  在用户释放定名字的按键的那一帧返回true


     if (Input.GetKey(“up”))

      print("X轴正方向移动");

 


       GetAxis( “Horizontal" )获取水平轴(X)


       GetAxis(Vertical)获取垂直轴(Z) 


       GetButton   根据按钮名称返回true当对应的虚拟按钮被按住时。


     if(Input.GetButton("Fire1"))

  {

        print(“按下鼠标左键”);

  }

       GetButtonDown     在给定名称的虚拟按钮被按下的那一帧返回true


       GetButtonUp       在用户释放指定名称的虚拟按钮时返回true


  鼠标:

      Input.GetMouseButton(0) 左点鼠标  或者Input.GetButton("Fire1")

      Input.GetMouseButton(1) 右点鼠标

      Input.GetMouseButton(2) 点击鼠标中间


 9、给游戏对象加动力

      先给游戏对象添加刚体,然后 游戏对象.transform.rigidbody.AddForce (0,0,1000);

      AddForce:添加一个力到刚体。作为结果刚体将开始移动。

      Rigidbody组件控制物体的位置 - 它使物体在重力影响下下落;并可计算物体将怎样响应碰撞(子弹加刚体,才能打中飞机)。



 

0 0
原创粉丝点击