2022-04-20 Unity入门9——其他

一、场景切换和游戏退出

(一)场景切换

// 切换到场景 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 => {
    
     };

猜你喜欢

转载自blog.csdn.net/zheliku/article/details/124311764