zoukankan      html  css  js  c++  java
  • Unity3D @System.NonSerialized

    Unity3D属性监视面板(Inspector)  

    2012-02-09 01:56:33|  分类: Unity|举报|字号 订阅

     
     

    转载 自LoveGame日志

    一。Unity3D属性监视面板(Inspector)

            Unity3D属性监视面板中的属性允许用户在代码外部改变脚本及组件的初始值。另外,属性监视面板中的值允许用户在游戏运行模式下随时更改,并且在游戏中立即生效,停止运行后各属性又能恢复到最初的状态,这是Unity3D提供的一种运行时调试方式。

            哪些对象可以作为属性出现在Inspector中呢?答案是Unity3D引擎能够识别的所有对象以及Unity3D所支持的编程语言的基础数据类型对象,另外再加上以这些可识别的对象构建的自定义数据类型(实质同前两项)。注意:属性是指所有能够出现在Inpector面板中的项;组件是属性中的一种,它必须是Unity3D引擎所能识别的基本对象之一,即必须继承于UnityEngine.Object。

           Unity3D还提供了一种方案方便我们自定义、美化Inspector界面。


    二。编写自定义属性

           在脚本中,以Unity3D引擎能够识别的类型及编程语言的基础数据类型定义的对象都可以作为一个属性出现在Inspector中,在C#script中,你同时还得将变量的访问权限改为public。

           如果你想自定义一个数据类型,并且希望它能出现在inspector中,那么,在C#script中,你必须使用[System.Serializable]关键字将其序列化(在js中,类必须继承于System.Object),并且对象中的元素必须是基本数据类型或Unity3D对象或者已被我们定义的可以出现在监视面板中的自定义类型,在C#script中,你同时还得将变量的访问权限改为public。如下:

    // js Example
    classTestextendsSystem.Object
    {
    var p =5;
    var c =Color.white;
    }
    var test =Test();

     

     

    // C# Example
    [System.Serializable]
    classTest
    {
    publicint p =5;
    publicColor c =Color.white;
    }
         当然,你也可以使用[System.NonSerialized](js中使用@System.NonSerialized)来将原本出现在Inspector的属性隐藏起来。如下:

     

    // p will not be shown in the inspector or serialized
    @System.NonSerialized
    var p =5;
     
    // C# Example
    classTest
    {
    // p will not be shown in the inspector or serialized
    [System.NonSerialized]
    publicint p =5;
    } 

     
    三。编写自定义Inspector(这里不只是自定义属性)
        编写自定义Inspector是基于自定义脚本的,首先,我们得自定义一个脚本或类文件,其次我们还得定义一个编辑这个类(脚本本身就是一个类)的Inspector的类,该类必须继承于Editor或EditorWindow,并存放在Editor目录下。
  • 相关阅读:
    【转载,整理】Linux性能监控
    【转载,整理】Spotlight 监控
    Linux中SFTP命令
    SQL中特殊符号的使用
    Oracle数据库中number类型在java中的使用
    【转载】抓包工具Fidder详解(主要来抓取Android中app的请求) 包括https
    Linux scp命令
    shell编程入门(一)
    Linux 技巧:让进程在后台可靠运行的几种方法
    Fast Algorithm To Find Unique Items in JavaScript Array
  • 原文地址:https://www.cnblogs.com/xpng/p/3702383.html
Copyright © 2011-2022 走看看