【Unity】常用的全局类
在Unity中,全局类(Global Classes)指的是那些不需要实例化就可以直接访问其成员和方法的类。这些类通常提供了Unity引擎的核心功能和常用的工具方法。以下是一些常见的Unity全局类:
常见的Unity全局类
-
Application
- 提供关于应用程序的管理和信息,如应用程序的运行状态、平台信息、版本信息等。
- 常用方法和属性:
Application.Quit()
Application.platform
Application.isPlaying
-
Debug
- 用于输出调试信息,如日志、警告和错误消息。
- 常用方法:
Debug.Log()
Debug.LogWarning()
Debug.LogError()
-
Mathf
- 提供了许多常用的数学函数,如三角函数、插值函数、平滑移动等。
- 常用方法:
Mathf.Sin()
Mathf.Cos()
Mathf.Lerp()
Mathf.Clamp()
-
Time
- 提供了关于时间的信息和控制,如帧时间、缩放时间等。
- 常用属性:
Time.deltaTime
Time.time
Time.timeScale
-
PlayerPrefs
- 用于存储和检索玩家偏好设置,如整数、浮点数和字符串。
- 常用方法:
PlayerPrefs.SetInt()
PlayerPrefs.GetInt()
PlayerPrefs.SetString()
PlayerPrefs.GetString()
-
Random
- 提供了生成随机数的功能。
- 常用方法:
Random.Range()
Random.value
-
Physics
- 提供物理学相关的全局方法,如射线投射、碰撞检测等。
- 常用方法:
Physics.Raycast()
Physics.OverlapSphere()
-
Screen
- 提供了屏幕相关的信息和控制,如分辨率、屏幕方向等。
- 常用属性:
Screen.width
Screen.height
Screen.fullScreen
-
Resources
- 用于加载资源,如预制件、材质、纹理等。
- 常用方法:
Resources.Load()
Resources.LoadAll()
-
Input
- 提供了输入设备的信息和控制,如键盘、鼠标、触摸等。
- 常用方法:
Input.GetKey()
Input.GetMouseButton()
Input.GetAxis()
使用示例
以下是一些使用全局类的简单示例:
// 使用 Debug 类输出日志
Debug.Log("Hello, Unity!");// 使用 Mathf 进行插值计算
float result = Mathf.Lerp(0f, 10f, 0.5f); // 结果为 5// 使用 Time 获取帧间隔时间
float deltaTime = Time.deltaTime;// 使用 PlayerPrefs 保存和读取数据
PlayerPrefs.SetInt("HighScore", 100);
int highScore = PlayerPrefs.GetInt("HighScore");// 使用 Random 生成随机数
float randomValue = Random.Range(0f, 1f);// 使用 Physics 进行射线检测
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit, 100f))
{Debug.Log("Hit: " + hit.collider.name);
}// 使用 Input 检测按键
if (Input.GetKey(KeyCode.Space))
{Debug.Log("Space key is held down");
}// 使用 Application 检查平台
if (Application.platform == RuntimePlatform.WindowsPlayer)
{Debug.Log("Running on Windows");
}// 使用 Resources 加载预制体
GameObject prefab = Resources.Load<GameObject>("MyPrefab");
Instantiate(prefab);
这些全局类极大地简化了开发过程,使得开发者可以方便地访问和控制Unity引擎的各个方面。