欢迎大家光临我的博客!
一、Transform对象
①位移
②旋转
③缩放
位移举例:
//移动物体
Transform.Translate(Vector3.forward);
Transform.Translate new Vector3(10, 0,0);
旋转举例:
//旋转一个物体
Transform.rotation (new vector3(0,10,0));
缩放举例:
//放大物体
transform.localScale += Vector3(0.1,0,0);
//缩小物体
transform.localScale -= Vector3 (0.5, 0, 0);
二、Input
(1)键盘事件
GetKey 当通过名称指定的按键被用户按住时返回true
GetKeyDown 当用户按下指定名称的按键时的那一帧返回true。
GetKeyUp 在用户释放给定名字的按键的那一帧返回true。
GetAxis(“Horizontal")和GetAxis(“Verical”)用方向键或WASD键来模拟-1到1的平滑输入
(2)鼠标事件
GetButton 根据按钮名称返回true当对应的虚拟按钮被按住时。
GetButtonDown 在给定名称的虚拟按钮被按下的那一帧返回true。
GetButtonUp 在用户释放指定名称的虚拟按钮时返回true。
按下鼠标左键:
if (Input.GetMouseButton(0))
{
}
按下鼠标中键:
if (Input.GetMouseButton(2))
{
}
按下鼠标右键:
if (Input.GetMouseButton(1))
{
}
三、GameObject对象
创建一个游戏对象:GameObject.CreatePrimitive(PrimitiveType.Cube);
克隆对象:GameObject go=GameObject.Instantiate(rocket,transform.position,Quaternion.identity)as GameObject;
1秒钟之后销毁上面对象:Destroy(go, 1f);
四、Time类
属性: deltaTime
方法Update(): 受当前渲染效率的影响,有时快有时慢,帧率会变化,Update被调用的时间间隔就发生变化,Time. deltaTime获得自上次Update一来经历的时间,只应该在Update()中使用deltaTime ,OnGUI、FiexedUpdate等里面不要用。
例如:
float a=5.0f;
void Update () {
if (a>=0) {
a -= Time.deltaTime;
print(a);
}
}
五、Yield
Yield语句是一种特殊类型的Return(返回)语句,它可以确保函数在下一次被执行时,不是从头开始,而是从Yield语句处开始。
可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行。
例如:
void Start () {
StartCoroutine("Get");
}
IEnumerator Get() {
yield return new WaitForSeconds(5.0f);
print("aaaaaaaaa");
}
六、消息传递函数:
Message相关有3条指令:
SendMessage ("函数名",参数,SendMessageOptions) //GameObject自身的Script
BroadcastMessage ("函数名",参数,SendMessageOptions) //自身和子Object的Script
SendMessageUpwards ("函数名",参数,SendMessageOptions) //自身和父Object的Script
七、Random随机数
返回一个随机浮点数,在min(包含)和max(包含)之间。(只读)
例如:用Random类生成一个四位验证码(不重复)
void Start () {
int a = Random.Range(0, 9);
int b = Random.Range(0, 9);
int c = Random.Range(0, 9);
int d = Random.Range(1, 9);
if (a != b && a != c && a != d)
{
print(a + " " + b + " " + c + " " + d);
}
}
八、触发器(Trigger)和碰撞器(Collision)
进入触发器Collider.OnTriggerEnter
逗留触发器Collider.OnTriggerStay
退出触发器Collider.OnTriggerExit
例如:
void OnTriggerEnter(Collider col) {
if(col.gameObject.name==”Player”){
Destroy(col.gameObject);
}
}
}