Unity 3DC#语法基本知识点

来源:互联网 发布:虚航软件 编辑:程序博客网 时间:2024/06/07 02:52


1.C#中只存在传值和传引用两种方式
(传引用):
ref:用ref的方式来传递参数,,则该参数必须先初始化。
out:通过out方式则不需要初始化,out参数也称为输出参数。

2.常用的二元运算符
is      x is T      若x为类型T则返回true,否则返回false
as      x as T      返回类型为T的x,若x不是类型T,则返回null

3.协程(Coroutine)
yield:类似于Java中的线程
用于启动线程:
public Coroutine StartCoroutine(IEnumerator routine);
public Coroutine StartCoroutine(string methodName,object value=null);

用于关闭线程:
StopCoroutine("MyDo");
StopAllCoroutines();

4.Unity脚本事件执行顺序
Awake:
1.Awake用于脚本唤醒,此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次。
2.Start方法在Awake之后执行,在脚本的生命周期中只执行一次。
在C#中与构造函数类似,所以在Unity中也常用来初始化类的成员变量。

5.Unity3d:Physx
Unity2d:Box2d
音乐:Fmod
成熟的商业引擎管理件:RakNet
每年的渲染大会

6.获得一个GameObject对象上的刚体组件时,做法是:
  Rigidbody rb=gameObject.GetComponent<Rigidbody>();
  float moveHorizontal = Input.GetAxis("Horizontal");  //得到水平方向的输入
  float moveVertical = Input.GetAxis("Vertical");   //得到垂直方向的输入
//用上面的水平方向(X轴)和垂直方向(Z轴)输入创建一个Vector3变量,作为刚体速度
  Vector3 movement = new Vector3(moveHorizontal,0.0f,moveVertical);
  GetComponent<Rigidbody>().velocity = movement*speed;

7.Vector2和Vector3有什么区别
一个是平面的x.y,一个是3D的x.y.z。

8.Unity开发商业游戏经验:
地形:Terrain
做场景的时候先做地形,再做检测。

9.U3D各种的坐标意义(transform):
Position: transform的位置是世界空间,并不是本身的坐标(世界坐标)
Rotation: x:90,意思是绕着X轴旋转90度
Scale: x:15,意思是在X轴的方向上面再扩大15倍。

10.物理引擎:
只关心他关心的东西

0 0
原创粉丝点击