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.物理引擎:
只关心他关心的东西
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.物理引擎:
只关心他关心的东西
相关文章推荐
- Unity3D和Android交互(Android调用Unity的场景)
- Vuforia SDK----从Unity的SD卡装入一个DataSet
- Unity_酷炫塔防插件TDTK(一)
- 于Unity3D调用安卓AlertDialog
- unity3d 免费好用的数据库处理框架 数据库直连框架
- unity的forward rendering 中光源的使用和light的render mode
- Unity脚本中使用NGUI的预先准备
- 【unity-lua】笔记(备忘)
- Unity3D for Android 纹理压缩支持
- Ogre中四元数与三维向量(Unity3D异曲同工)
- Unity将来时:IL2CPP是什么?
- Unity开发shader中要用到的内置状态变量
- unity3d 在UGUI中制作自适应调整大小的滚动布局控件
- unity3d 中进行安卓版本的发布
- Default clip could not be found in attached animations list
- Unity3D Resources TextAsset 正文
- unity3d实现插件快速开发对话系统
- Unity3D中关于场景销毁时事件调用顺序的一点记录
- Unity3D实现3D立体游戏原理及过程
- Unity3D研究院之利用缓存池解决Instantiate慢的问题