您的位置:首页 > 移动开发 > Unity3D

Unity 3DC#语法基本知识点

2015-09-19 01:14 627 查看

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.物理引擎:

只关心他关心的东西
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: