【转】HideInInspector 与SerializeField】的更多相关文章

[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果a是公有的序列化变量. 1.1如果你想要在面板中看到a,那么用: public int a; 1.2如果你不想在面板中看到a,那么用: [HideInInspector] public int a; // 这样a可以在程序中被代码赋值,但不会在面板中看到并手动设置赋值. 2 如果a是私…
http://blog.csdn.net/luyuncsd123/article/details/21563697 [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果a是公有的序列化变量. 1.1如果你想要在面板中看到a,那么用: public int a; 1.2如果你不想在面板中看到a,那么用: [HideInInspector]…
首先,Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 然后是,什么样的值会被显示在面板上? 已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果name是公有的序列化变量.…
http://blog.sina.com.cn/s/blog_697b1b8c0102uxvn.html Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 什么样的值会被显示在面板上?已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可…
在Unity中,一个变量为公有类型,但是呢你不想让它显示在属性面板上,这个时候用 [HideInInspector] 这是隐藏的意思,举例: 用了[HideInInspector] 之后 就是这样用的,还有一个 [SerializeField] 是显示的意思,它用在你的私有变量想在属性面板出现的情况下,这里不演示了 还有一个 [System.Serializable] 这个写在类的外面,为其他的一个类或者枚举写在上面,这样的话呢这个类或者枚举就可以当做变量来使用了…
你曾想要把某些公有变量在Inspetor面板中隐藏起来吗,这样很简单就能做到. 让我们来看以下代码: using UnityEngine; public class HidingScript : MonoBehaviour { ; ; } 可以看到这里Public 出的变量都显示出来了,要想让Public修饰的变量不在inspector中显示,需要给不显示的变量加上[HideInInspector]. using UnityEngine; public class HidingScript :…
Serialize功能 Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 简单的说,在没有自定义Inspector的情况下所有显示在Inspector 中的属性都同时具有Serialize功能. 换句话说,就是你在Inspector看到什么,保存游戏的时候,这些值就会被保存成二进制文件. 本文说说可被Serialize的变量的定义方法 1. public 变量 在没有加入任何Attribute的前提下,public变量是…
非public变量需要加[SerializeField]才能序列化 例如: MonoBehaviour中: [SerializeField] private float m_xxx; 在相应的CustomEditor脚本中: SerializedProperty m_xxx= serializedObject.FindProperty ("m_xxx"); m_xxx.floatValue=1.0f;//*** 否则的话***句会报空引用错误.…
1:   如果  一个public字段 刚开始有默认值,然后你你觉得这个值不应该给别人看设置为HideInInspector 后,你再在代码里面调整这个默认属性的值,这个时候代码里面调整的值无效.  重点说明: HideInInspector  只是隐藏,不代表,他没有了序列化功能.  [NonSerialized] vs [HideInInspector]…
SerializeField Inherits from Attribute Force Unity to serialize a private field. 强制Unity去序列化一个私有域. You will almost never need this. When Unity serializes your scripts, it will only serialize public fields. If in addition to that you also want Unity t…
[UnityEngine.SerializeField] Force Unity to serialize a private field. 强制Unity序列化一个私有变量. You will almost never need this. When Unity serializes your scripts, it will only serialize public fields. If in addition to that you also want Unity to serializ…
下面写法不报错: [System.Serializable] public class CmyObj{ CA m_a; ... } public class XXX: MonoBehavior{ [HideInInspector] public CmyObj m_myObj; void Start(){ } void Update(){ } } 下面写法也不报错: [System.Serializable] public class CmyObj{ CA m_a=new CA(); ... }…
在Unity3d中Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 也就是说凡是显示在Inspector 中的属性都同时具有Serialize功能(序列化的意思是说再次读取Unity时序列化的变量是 有值的,不需要你再次去赋值,因为它已经被保存下来). 1. public 变量 在没有加入任何Attribute的前提下,public变量是默认被视为可以被Serialize的.所以public声明的变量在Inspector…
[HideInInspector] public Transform t; public Transform mm; public Transform nn3; 在变量前面加入,作用:隐藏下一条在Inspector的属性显示,如下图,只显示了后两个变量.…
被人物编辑器折腾了一个月,最终还是交了点成品上去(还要很多优化都还么做).  刚接手这项工作时觉得没概念,没想法,不知道.后来就去看<<Unity5.X从入门到精通>>中有关于自定义编辑器(自定义Inspector和自定义Scene或GUI)的一些例子,还包括看了 雨松的编辑器教程 和 自定义结构显示在Inspector的方法 看完之后也实战了一下就算入了门,就分析自己项目的人物对应的数据,如下图: 上述数据其实很简单但是对于我这种初学者来说就有点难度,首先因为Actions 和…
转帖:http://www.glenstevens.ca/unity3d-best-practices/ 另外可以参考:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ 组件的拆分可以参考:http://gameprogrammingpatterns.com/component.html,此网站上列出了很多的游戏开发中的设计模式,非常值得认真研读. 论坛里的讨论也很有价值:https://…
不是什么技术文章,纯粹是我个人学习是遇到一些觉得需要注意的要点,当成笔记. 1.关于调试,在Android下无法断点,Debug也无法查看,查看日志方法可以启动adb的log功能,或者自己写个GUI控件直接在屏幕上显示Info 2.所有自定义的编辑器扩展插件脚本必须放在Editor文件夹里,不然会导致编译程序时出错,放到Editor文件下,编译成游戏时才会忽略这些脚本 3.打包资源时,假设是在移动设备上使用,打包方式务必选择成:BuildTarget.AndroidBuildPipeline.B…
unity常用的是C#语言.而C#语言有Attribute属性.特别强大.所以unity开发的时候.可以在变量加Attribute属性来达到开发人员想要的效果 RequireComponent:约束组件 [RequireComponent(typeof(Rigidbody))]  当附加该组件的时候.会强制自动添加组件typeof(Rigidbody) RequireComponent约束的组件.是不能删除的.除非先删除当前脚本 [RequireComponent(typeof(Rigidbod…
Editor可以拓展Inspector窗口 可以通过代码自己绘制监测面板 先来看一个效果:…
UIWidget NGUI的UIWidget是所有组件的基类,它承担了存储显示内容,颜色调配,显示深度,显示位置,显示大小,显示角度,显示的多边形形状,归属哪个UIPanel.这就是UIWidget所要承担的内容.在UIWidget的所有子类中都具有以上相同的属性和任务.UIWidget和UIPanel的关系非常密切,因为UIPanel承担了UIWidget的所有渲染工作,而UIWidget只是承担了存储需要渲染数据.所以,在UIWidget在更换贴图,材质球,甚至更换UIPanel父节点时它会…
http://www.unity蛮牛.com/blog-9383-1391.html 最近由于工作需要,就开始研究NGUI滑动.刚开始参考NGUI自带的循环滑动,利用隐藏和显示,提高GPU的渲染,但是效果依旧不是很理想.在同事提醒下,添加缓存列表,不断刷新当前裁剪区域里的数据,最总完成了需求.在网上也参考了很多资料,今天恰好闲下来,就拿出来大家分享下,哈哈.代码附上:   主要分为三部分 1.重写UIScrollView和UICustomDragScrollView两个脚本///////////…
http://blog.csdn.net/onafioo/article/details/46403801 http://www.winig.cc/archives/348 好久没有写文章了,最近在做项目是用的unity最新的ui系统UGUI,项目需要做一个摇杆,网上大部分都是用的插件和NGUI做的摇杆,unity自带的摇杆也不怎么好用,而最新的unity4.6.x来了,加入了最新的UI系统"UGUI",那我们怎么用UGUI来制作摇杆呢~大神勿喷,本人是技术渣渣. 比较出色的摇杆插件&…
http://blog.csdn.net/anyuanlzh/article/details/40107577 下面是我用nui实现的一个虚拟摇杆. 1,示图 2.代码如下,都有比较详细的注释,就不说明了. using UnityEngine; using System.Collections; using System.Collections.Generic; [ExecuteInEditMode] public class Joystick : MonoBehaviour { #region…
Attributes属性属于U3D的RunTimeClass,所以加上以下的命名空间是必须的了.其它倒没什么需要注意的.本文将所有运行属性过一遍罢了. using UnityEngine; using System.Collections;   1.AddComponentMenu 添加组件菜单 这函数只是起方便用,原本的脚本(组建)都会在"Component/Script"菜单下,在类之前声明一下这个,它便可以出现在"Componet"菜单下的任何位置.说明指的是…
UIAnchor的功能是把对象锚定在屏幕的边缘(左上,左中,左下,上,中,下,右上,右中,右下),或缩放物体使其匹配屏幕的尺寸. 在1.90版本后,拉长(缩放)的功能被放到UIStretch中,UIAnchor的功能更单一了,就是给对象定位. 借用<[Unity插件]NGUI核心组件之UIAnchor>文章中的内容: NGUI:UIAnchor Anchor脚本可以用来实现多个目的,这些在Example0里面都有用到. 1. 只要提供一个half-pixel偏移量,它可以让一个控件的位置在Wi…
本文的重点就是要将NGUI把多张图片打成一个图集(Atlas)的原理和过程研究下,学习下Unity提供的api和NGUI写的功能以及设计思想. (原文链接) 其它链接:NGUI所见即所得之UIRoot   NGUI所见即所得之UIWidget , UIGeometry & UIDrawCall   NGUI所见即所得之UIFont , UIFontMaker   NGUI所见即所得之UISprite & UILabel   NGUI所见即所得之UICamera   NGUI所见即所得之UI…
1. C#脚本如下: using UnityEngine; using System.Collections; public class MyTest : MonoBehaviour { ; ; [System.Serializable] public class TestOne { ; ; } //在此处实例化之后,才会在Inspector中显示TestOne中的变量 public TestOne tOne; [System.Serializable] public class Equipme…
如题,要实现序列帧的播放导入图片的时候需要注意: (1)图片的命名要连续,如图: (2)将这些图片在NGUI中打包成Altas图集的时候图片应该在同一个Altas中: 这里以播放特效为例,满足条件时播放特效,不满足条件时不播放特效.接下来可以创建一个Sprite,然后用代码控制序列帧特效的播放和停止: 播放: if (something == false) { this._power_effect_sprite.GetComponent<UISprite>().enabled = true;…
[SerializeField] 在Inspector版面中显示非public属性,并且序列化:若写在public前面,等于没写. [Obsolete("调用提示信息")] [NonSerialized]在Inspector版面中隐藏public属性,并且序列化:如果写在非public属性前面,等于没写. [HideInInspector] 在Inspector版面中隐藏public属性,与上面相比,只是隐藏,没有序不序列化的功能. [AddComponentMenu("XX…
Unity3D-NGUI分析,使用NGUI做UI须要注意的几个要点在此我想罗列一下,对我在U3D上做UI的一些总结,最后解剖一下NGUI的源码.它是假设架构和运作的. 在此前我介绍了自己项目的架构方式,所以在NGUI的利用上也是相同的做法,UI逻辑的程序不被绑定在物体上. 那么怎样做到GUI输入消息的传递呢,答案是:我封装了一个关于NGUI输入消息的类.因为NGUI的输入消息传递方式是U3D中的SendMessage方式,所以在每一个须要接入输入的物体上动态的绑定该封装脚本. 在这个消息封装类中…