论unity中[System.Serializable]的作用

首先解释[System.Serializable]什么意思,就是把一个对象序列化(网上就是这么解释的),在unity中有什么作用呢请看一下代码便一目了然。

这是一个属性类,里面声明了4个字段:

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 [System.Serializable]
 5 public class Property {
 6
 7     public string name = "aa";
 8     public int age = 0;
 9     public bool sex = true;
10     public float height = 183.0f;
11 }

以下代码是声明了Show类,类中引用了Property类:

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class Show : MonoBehaviour {
 5
 6     public Property[] propertys;
 7     string strSex;
 8
 9     void OnGUI()
10     {
11         for (int i = 0; i < propertys.Length; i++)
12         {
13             strSex = propertys[i].sex == true ? "男" : "女";
14             GUI.Button(new Rect(10, 10 + i * 35, 250, 30), "名字:" + propertys[i].name + " 年龄:" + propertys[i].age + " 性别:" + strSex  + " 身高:" + propertys[i].height);
15         }
16
17
18
19     }
20 }

效果图:

时间: 2025-01-03 15:44:09

论unity中[System.Serializable]的作用的相关文章

java中System.getProperty()的作用及使用

Java中给我们提供了System.getProperty()这个函数,这个函数可以获取到JavaJVM以及操作系统的一些参数,可以供程序判断等. System.getProperty()方法中需要传递一个字符串的参数,表示需要获取那个环境配置. 可以传递的参数有: [java] view plain copy print? <span style="font-size:18px">System.getProperty("java.vm.version"

Unity中对SQL数据库的操作

在Unity中,我们有时候需要连接数据库来达到数据的读取与储存.而在.NET平台下,ADO.NET为我们提供了公开数据访问服务的类.客户端应用程序可以使用ADO.NET来连接到数据源,并查询,添加,删除和更新所包含的数据. 对于ADO.NET,需要了解到Connection,Command,DataReader,DataAdapter,DataSet这几个对象,他们是操作数据库的重要对象.下面简要得介绍下这几个对象的作用以及功能(以SQL为例). 1.Connection:它是建立应用程序与数据

在Unity中使用贝塞尔曲线(转)

鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么MOMO迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是起点,一个是终点.在这条曲线之上还会有两个可以任意移动的点来控制贝塞尔曲线的角度.如下图所示,点1 和点4 就是起点和终点,点2 和点3 就是控制曲线角度的两个动态点. 如下图所示.使用拖动条来让曲线发生旋转,大家会看的更加清晰.目前我们看到的被塞尔曲线是在平面中完成的,其实贝塞尔曲线是完全 支持3

【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则

本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/53869998 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 引言 我们知道,在C++领域,作为进阶阅读材料,必看的书是<Effective C++>. 而<Effective C#>之于C# ,是类似<Effective C++>之于C++一样的存在. 这篇文章,

Protobuf-net在Unity中的序列化与反序列化

本篇中我们只讲解如何在Unity中对Protobuf-net进行序列化(Serialize)与反序列化(Deserialize),关于Unity的socket(插座)网络通信部分我们后续开篇. 首先去Protobuf-net的Google下载点下载protobuf-net类库:https://code.google.com/p/protobuf-net/downloads/list这里用的是目前最新的protobuf-net r668下载完毕后打开压缩包,在Full\unity中找到protob

Unity中2D和UGUI图集的理解与使用

图集 什么是图集? 在使用3D技术开发2D游戏或制作UI时(即使用GPU绘制),都会使用到图集,而使用CPU渲染的2D游戏和UI则不存在图集这个概念(比如Flash的原生显示列表),那么什么是图集呢?准确的说法图集是一张包含了多个小图的大图和一份记录了每个小图id.位置.尺寸等数据的数据文件,一个图集应该对应两个文件,当然也有人把数据集成到图片中,导致看起来只有一张图片(参考自DragonBones的做法). 为什么要用图集? 在GPU已经成为PC.手机等设备的必备组件的现在,把所有显示的绘制操

C#开发Unity游戏教程之Unity中方法的参数

C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别方法的作用吧.既然C#的语法规定方法就应该这么写,肯定是有一定道理的.如果是上升到战略意义的道理,连作者也不是很明白,但是作者知道这对括号里可以添加“参数”. Unity中参数的作用 要说明参数的作用,就必须从方法说起.方法可以处理变量中的数据,进而影响游戏对象的行为逻辑,这是本章前面一直在强调的.

XML文件在Unity中的序列化

我们在使用Unity读取文件或者消息传递的时候,经常说到序列化.什么是序列化?序列化的意思就是我们的数据是按照一定的顺序进行赋值的,这个顺序是一定的.它主要是为了方便变量赋值.在Unity中我们也经常使用这种方法.例如我们可以这样写: 在我们需要序列化的前面加上[System.Serializable]用于告诉C#以下结构是我们需要序列化的.下面我们就说一下如何使用XML进行序列化. 我们不能直接写XML文件,我们一般是通过Excel表格将其转化成XML格式,我们需要转化成啥格式才能比较好的序列

关于Unity中常用的数据结构和JSON处理(专题三)

数据结构通俗来讲就是用某个对象去存储数据集合,比如要存储100个整数,要用什么样的数据类型能把它们存储好. Jason处理,服务器对接,配置文件的使用,Unity和Jason之间相互的转换. Array 数组 1: 类型[] 名字 = new 类型[数量]{"初始化的值", "", ''"}; 如果有初始值也可以省略大小;2: 优点: (1)内存连续,速度快; 3: 缺点: (1)大小固定,容易访问越界; Array实例 1.创建Unity项目和文件目录,