1.键盘识别
float a = Input.GetAxis ("Horizontal"); //水平轴
float b = Input.GetAxis ("Vertical"); //垂直轴
Horizontal 对应键盘上的AD键或左右方向箭头
当静止时为0,物体静止不动;
当按下A键(左方向键)时,这个数值减小,返回一个小于0的数值,物体向左移动;
当按下D键(右方向键)时,这个数值增加,返回一个大于0的数值,物体向右移动;
Vertical对应键盘上的WS键或上下方向箭头
当静止时为0,物体静止不动;
当按下W键(上方向键)时,这个数值增加,返回一个大于0的数值,物体前进;
当按下S键(下方向键)时,这个数值减少,返回一个小于0的数值,物体后退。
bool result = Input.GetKeyDown(KeyCode.R); //返回bool值,判断是否按下键盘上的R键
2.transform
- transform.Translate(x,y,z):物体(transfrom)移动
- transform.position:物体的坐标
- transform.position.x:物体的x轴坐标
- transform.position.y:物体的y轴坐标
3.Time
- Time.deltaTime:这一帧与下一帧的时间间隔(只读)
- Time.timeScale:时间流逝的比例,可用于慢动作效果。
- 游戏暂停:Time.timeScale = 0;
- 游戏继续:Time.timeScale = 1;
- 重新游戏:UnityEngine.SceneManagement.SceneManager.LoadScene(0); //0为游戏场景的索引号
或
using UnityEngine.SceneManagement; //导入头库
SceneManager.LoadScene(0);
- 退出游戏:Application.Quit();
//按下R键重新游戏
if (Input.GetKeyDown(KeyCode.R)) {
UnityEngine.SceneManagement.SceneManager.LoadScene(0);
Time.timeScale = 1;
return;
}
//终止游戏
if(Input.GetKeyDown(KeyCode.Escape)){
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying=false;
#else
Application.Quit();
#endif
}
4.碰撞检测
OnTriggerEnter触发条件
- 碰撞双方都必须是碰撞体
- 碰撞双方其中一个碰撞体必须勾选IsTigger选项
- 碰撞双方其中一个必须是刚体
- 刚体的IsKinematic选项可以勾选也可以不勾选
//使用触发器进行碰撞检测,碰撞对象other
private void OnTriggerEnter(Collider other){
//Debug.Log()设置调试端显示内容
Debug.Log (other.name + "碰到了"+transform.name);
if (other.name == "Ball") { //碰撞对象名为Ball,游戏暂停
Time.timeScale = 0;
}
}
5.
GameObject canvas = GameObject.Find ("Canvas"); //查找游戏对象"Canvas"
canvas.transform.Find("Text1").gameObject.SetActive(false);//设置活动状态为假,隐藏Text1文本
canvas.transform.Find("Text1").gameObject.SetActive(true);//设置活动状态为真,显示Text1文本