一、场景切换和游戏退出
(一)场景切换
// 切换到场景 2
// 直接写代码切换场景可能会报错 原因是没有把场景加载到场景列表当中
SceneManager.LoadScene("Test2");
// 用它不会报错 只会有警告 一样可以切换场景
// SceneManager
Application.LoadLevel("Test2");
(二)游戏退出
// 执行这句代码 就会退出游戏
// 但是 在编辑模式下没有作用
// 一定是发布游戏过后才有用
Application.Quit();
二、鼠标隐藏锁定
(一)隐藏鼠标
Cursor.visible = true;
(二)锁定鼠标
// None 就是不锁定
// Locked 鼠标会被限制在屏幕的中心点 不仅会被锁定 还会被隐藏 可以通过 Esc 键摆脱编辑模式下的锁定
// Confined 限制在窗口范围内
Cursor.lockState = CursorLockMode.Confined;
(三)设置鼠标图片
注意:
- 将 Texture2D 设置为 Cursor 类型
- Texture2D 宽高最好一样,否则会被拉伸至一样
public Texture2D tex;
// 参数一:光标图片
// 参数二:偏移位置 相对图片左上角
// 参数三:平台支持的光标模式(硬件或软件)
Cursor.SetCursor(tex, Vector2.zero, CursorMode.Auto);
三、随机数和 Unity 自带委托
(一)随机数
// Unity 中的随机数
// Unity 当中的 Random 类 此 Random(Unity) 非彼 Random(C#)
// 使用随机数 int 重载 规则是左包含右不包含
int randomNum = Random.Range(0, 100);
// float 重载 规则是左右都包含
float randomNumF = Random.Range(1.1f, 99.9f);
// C# 中的随机数
// System.Random r = new System.Random();
// r.Next(0, 100);
(二)委托
// C# 的自带委托
Action ac = () => {
print("123"); };
Action<int, float> ac2 = (i, f) => {
};
Func<int> fun1 = () => {
return 1; };
Func<int, string> fun2 = i => {
return i.ToString(); };
// Unity 的自带委托
UnityAction uac = () => {
};
UnityAction<string> uac1 = s => {
};