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

unity3d————[HideInInspector]

在Unity3D中,[HideInInspector]是一个属性修饰符,它的主要作用是在Unity的Inspector窗口中隐藏变量或属性。以下是关于[HideInInspector]的详细解释和作用:

作用

  • 隐藏变量或属性:当你在脚本中使用[HideInInspector]修饰符时,这个变量或属性将不会显示在Unity的Inspector窗口中。这意味着用户无法在编辑器中直接看到或编辑这些变量或属性。
  • 保持界面整洁[HideInInspector]通常用于隐藏对于用户而言不必要或不希望暴露的变量或属性,比如一些中间计算结果、内部状态等。它可以帮助保持Inspector界面的整洁,避免用户误操作引起的问题。
  • 保护变量或属性:通过隐藏变量或属性,可以保护它们不被外部随意修改,从而维护脚本的封装性和安全性。

使用场景

  • 公共字段的隐藏:虽然公共字段(public fields)通常会自动显示在Inspector窗口中,但有时候你可能希望某些公共字段不被用户看到,这时就可以使用[HideInInspector]
  • 私有字段的序列化和隐藏:私有字段(private fields)通常不会在Inspector窗口中显示,因为它们不是公共的。但是,如果你希望私有字段能够被序列化(即在场景保存和加载时保持其值),并且不希望它们在Inspector窗口中显示,你可以同时使用[SerializeField][HideInInspector]

示例代码

using UnityEngine;  public class ExampleScript : MonoBehaviour  
{  // 这个公共字段将显示在Inspector窗口中  public int visibleField;  // 这个公共字段将不会在Inspector窗口中显示  [HideInInspector]  public int hiddenField;  // 这个私有字段将被序列化,但不会在Inspector窗口中显示  [SerializeField]  [HideInInspector]  private int serializedHiddenField;  // 这个私有字段将被序列化,并显示在Inspector窗口中  [SerializeField]  private int serializedVisibleField;  
}

在上面的示例中,visibleFieldserializedVisibleField将显示在Inspector窗口中,而hiddenFieldserializedHiddenField则不会显示。尽管serializedHiddenField是私有的,但由于使用了[SerializeField],它仍然会被序列化。然而,由于同时也使用了[HideInInspector],它不会在Inspector窗口中显示。

总结

[HideInInspector]是Unity中一个非常有用的属性修饰符,它可以帮助开发者更好地控制脚本变量或属性在Inspector窗口中的可见性。通过合理使用[HideInInspector],可以保持Inspector界面的整洁、保护变量或属性不被外部随意修改,并维护脚本的封装性和安全性。

http://www.lryc.cn/news/472449.html

相关文章:

  • Soanrquber集成Gitlab 之 导入Gitlab项目
  • 论区块链技术及应用
  • GPT避坑指南:如何辨别逆向、AZ、OpenAI官转
  • Qt 文本文件读写与保存
  • Linux基础环境搭建(CentOS7)- 安装Scala和Spark
  • SpringBoot 下的Excel文件损坏与内容乱码问题
  • 官宣下代GPU存在缺陷,50系显卡或将迎来涨价
  • 使用pytorch实现LSTM预测交通流
  • C/C++(八)C++11
  • 使用three.js 实现 自定义绘制平面的效果
  • 玩转Docker | 使用Docker部署捕鱼网页小游戏
  • 第2章 Android App开发基础
  • 通过 SYSENTER/SYSEXIT指令来学习系统调用
  • Nginx开发实战——网络通信(一)
  • w外链如何跳转微信小程序
  • 获取平台Redis各项性能指标
  • STM32 HAL 点灯
  • 【http作业】
  • WPF+MVVM案例实战(十一)- 环形进度条实现
  • 简述MCU微控制器
  • 微服务的雪崩问题
  • Java基础(4)——构建字符串(干货)
  • logback日志脱敏后异步写入文件
  • 电容的基本知识
  • 【Axure高保真原型】分级树筛选中继器表格
  • STM32 I2C通信:硬件I2C与软件模拟I2C的区别
  • 服务器新建用户
  • 鸿蒙开发融云demo发送图片消息
  • 音视频入门基础:AAC专题(11)——AudioSpecificConfig简介
  • OpenCV基本操作(python开发)——(8)实现芯片瑕疵检测