当前位置: 首页 > news >正文

【Unity】常用的全局类

在Unity中,全局类(Global Classes)指的是那些不需要实例化就可以直接访问其成员和方法的类。这些类通常提供了Unity引擎的核心功能和常用的工具方法。以下是一些常见的Unity全局类:

常见的Unity全局类

  1. Application

    • 提供关于应用程序的管理和信息,如应用程序的运行状态、平台信息、版本信息等。
    • 常用方法和属性:
      • Application.Quit()
      • Application.platform
      • Application.isPlaying
  2. Debug

    • 用于输出调试信息,如日志、警告和错误消息。
    • 常用方法:
      • Debug.Log()
      • Debug.LogWarning()
      • Debug.LogError()
  3. Mathf

    • 提供了许多常用的数学函数,如三角函数、插值函数、平滑移动等。
    • 常用方法:
      • Mathf.Sin()
      • Mathf.Cos()
      • Mathf.Lerp()
      • Mathf.Clamp()
  4. Time

    • 提供了关于时间的信息和控制,如帧时间、缩放时间等。
    • 常用属性:
      • Time.deltaTime
      • Time.time
      • Time.timeScale
  5. PlayerPrefs

    • 用于存储和检索玩家偏好设置,如整数、浮点数和字符串。
    • 常用方法:
      • PlayerPrefs.SetInt()
      • PlayerPrefs.GetInt()
      • PlayerPrefs.SetString()
      • PlayerPrefs.GetString()
  6. Random

    • 提供了生成随机数的功能。
    • 常用方法:
      • Random.Range()
      • Random.value
  7. Physics

    • 提供物理学相关的全局方法,如射线投射、碰撞检测等。
    • 常用方法:
      • Physics.Raycast()
      • Physics.OverlapSphere()
  8. Screen

    • 提供了屏幕相关的信息和控制,如分辨率、屏幕方向等。
    • 常用属性:
      • Screen.width
      • Screen.height
      • Screen.fullScreen
  9. Resources

    • 用于加载资源,如预制件、材质、纹理等。
    • 常用方法:
      • Resources.Load()
      • Resources.LoadAll()
  10. 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引擎的各个方面。

相关文章:

  • 02-结构型设计模式(共7种)
  • 油猴脚本使用cookie一般是某请求返回的setcookie,一般不是js生成的,直接请求拼接
  • C# 基础之字典——Dictionary(一)
  • QVariant用法(AI ChaptGPT)
  • 【设计模式深度剖析】【4】【创建型】【建造者模式】| 类比选购汽车的过程,加深理解
  • ubuntu设置root开机登录,允许root用户ssh远程登录
  • 大模型落地竞逐,云计算大厂“百舸争流”
  • 【MySQL精通之路】InnoDB(7)-锁和事务模型(2)-事务模型
  • MQTT 异常断开(一)
  • 网络模型-Qinq配置与应用
  • 每日5题Day5 - LeetCode 21 - 25
  • jiebaNET中文分词器
  • 水平垂直居中的六种方法
  • 添加webpack.config.js配置
  • 三分钟学会视频号卖货,真的太简单了!
  • [LeetCode] Wiggle Sort
  • 3.7、@ResponseBody 和 @RestController
  • android 一些 utils
  • Angular2开发踩坑系列-生产环境编译
  • canvas 五子棋游戏
  • Leetcode 27 Remove Element
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • React 快速上手 - 07 前端路由 react-router
  • REST架构的思考
  • Sublime text 3 3103 注册码
  • 聚类分析——Kmeans
  • 前端设计模式
  • 入口文件开始,分析Vue源码实现
  • 一个JAVA程序员成长之路分享
  • 正则与JS中的正则
  • 白色的风信子
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • (23)Linux的软硬连接
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十三)MipMap
  • (四)Linux Shell编程——输入输出重定向
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)visual stdio 书签功能介绍
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .describe() python_Python-Win32com-Excel
  • .NET : 在VS2008中计算代码度量值
  • .NET Micro Framework初体验(二)
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .net 托管代码与非托管代码
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET的微型Web框架 Nancy
  • .NET开发者必备的11款免费工具