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

做衣服 网站love域名做的网站

做衣服 网站,love域名做的网站,简单的小手工,礼品网站如何做目录 一、什么是可编辑的变量——显示的可编辑内容就是脚本的成员变量 二、有哪些值得注意的点 (1)私有或者保护的变量,默认情况下是无法在外部显示的。 (2)公开变量可以直接显示在上面 (3)不…

目录

一、什么是可编辑的变量——显示的可编辑内容就是脚本的成员变量

二、有哪些值得注意的点

        (1)私有或者保护的变量,默认情况下是无法在外部显示的。

        (2)公开变量可以直接显示在上面

(3)不让公有的变量显示

(4)有哪些类型可以直接显示在Inpsector窗口上呢,C#中的数据类型,除了字典以外都可以。

(5)自定类型如何显示,利用[System.Serializable]特性。在你自定义申明的类或者结构体前面加上这个。例如:

(6)一些辅助特性

三、总结 


一、什么是可编辑的变量——显示的可编辑内容就是脚本的成员变量

        当你在Untiy中选中一个对象,他一定会有一个Inspector窗口,而这些个窗口上显示的内容就是可以在外部直接调整的变量,不用到内部修改,提高了开发效率。如下图所示。Transform就是Unity给我们提供好的基本组件,你看上面的Position,Rotation都是一些可以编辑的变量。那么这些变量有什么规则呢?

二、有哪些值得注意的点

        (1)私有或者保护的变量,默认情况下是无法在外部显示的。

        只有在这个变量前加上加上强制序列化字段特性[SerializeField]才可以使得在Inspector窗口上显示。所谓序列化就是把一个对象保存到一个文件或数据库字段中去

例如我在VS里面写如下语句:

private int age;
private int num;

在Unity中并不会显示这两个变量信息,因为他们是私有的

给age加上特性后:

        (2)公开变量可以直接显示在上面

[SerializeField]private int age;
private int num;public int classs;

(3)不让公有的变量显示

加上这个特性[HideInInspector]就没有了:

[SerializeField]private int age;
private int num;[HideInInspector] public int classs;

(4)有哪些类型可以直接显示在Inpsector窗口上呢,C#中的数据类型,除了字典以外都可以。

public int[] array;
public List<int> list;
public E_TestEnum type;
public GameObject gameObj;//字典不能被Inspector窗口显示编辑
public Dictionary<int, MyStruct> dic;

        那如果你就是想用字典的数据结构怎么办,你可以自定义一个键值对类,自己手动实现一个。

(5)自定类型如何显示,利用[System.Serializable]特性。在你自定义申明的类或者结构体前面加上这个。例如:

public struct MyStruct
{public int i1;public bool sex;}
[System.Serializable]
public class MyClass
{public int age;public bool sex;
}

(6)一些辅助特性

①为成员分组特性Header
为成员分组,就是在Insoector窗口上一块一块显示
Header特性
[Header("分组说明")]

示例:

[Header("基础属性")]
public int age;
public bool sex;[Header("战斗属性")]
public int hp;
public int mp;

 

②悬停注释特性Tooltip
为变量添加说明,就是你鼠标放在那里会显示一些内容
[Tooltip("说明内容")]

示例:

[Tooltip("闪避")]
public int miss;

 

③间隔特性 Space()
让两个字段中间出现间隔,没什么好说的,就是和上一个字符分隔开来,里面可以填数字,越大越开
[Space()]

④修饰数值的滑条范围特性Range
[Range(最小值, 最大值)]

示例:

[Range(0, 10)]
public float luck;

 在0~10之间可以滑动

⑤多行显示字符串 默认不写参数显示3行
写参数就是对应行
[Multiline(4)]

示例:

[Multiline(4)]
public string tips;

 

⑥滚动条显示字符串 //默认不写参数就是超过3行显示滚动条
[TextArea(3, 5)]  //最少显示3行,最多显示5行

[TextArea(3,4)]
public string tips2;

 和上面那个的区别就是一个有滚动条一个莫得。

⑦为变量添加快捷方法 ContextMenuItem
参数一:显示按钮名
参数二:方法名不能有参数

示例:

[ContextMenuItem("重置钱", "Test")]
public int money;

初始情况: 

 

右击这个名字:就可以看到我们实现的重置钱的方法,点一下看看效果。就会变成1500

⑧为方法添加特性能够在Inspector窗口中执行
[ContextMenu("方法名")]

示例:

[ContextMenu("哈哈哈哈")]
private void TestFun()
{ print("执行了TestFun方法");}

点击脚本文件的右上角三个点会出现你自定义的方法: 

点一下看看效果:

三、总结 

特性名称功能描述用法示例命名空间备注
[SerializeField]强制序列化私有字段[SerializeField] private int score;UnityEngine使私有变量在Inspector可见
[HideInInspector]隐藏公有字段[HideInInspector] public float hiddenValue;UnityEngine配合public使用
[Header]添加分组标题[Header("角色属性")]
public int hp;
UnityEngine纯文本信息展示
[Tooltip]鼠标悬停显示提示信息[Tooltip("移动速度")]
public float speed;
UnityEngine帮助文档说明
[Range]数值滑动条约束[Range(0, 100)] public int successRate;UnityEngine仅适用数值类型
[Space]插入垂直间距[Space(20)]
public Vector3 position;
UnityEngine参数为像素高度
[Multiline]多行文本输入框[Multiline(4)] public string description;UnityEngine指定可见行数
[TextArea]带滚动条的文本域[TextArea(3, 10)] public string story;UnityEngine可设置最小/最大行数
[ContextMenu]在组件菜单添加自定义方法[ContextMenu("初始化数据")]
private void InitData() { ... }
UnityEngine方法需无参数
[ContextMenuItem]为字段添加右键菜单方法[ContextMenuItem("随机数值", "RandomValue")]
public int value;
UnityEngine需同时指定方法名
[System.Serializable]使自定义类型可序列化[System.Serializable]
public class Weapon { ... }
System需应用于class/struct
[RequireComponent]强制依赖组件[RequireComponent(typeof(Rigidbody))]
public class Player : MonoBehaviour { ... }
UnityEngine自动添加必要组件
[DisallowMultipleComponent]禁止同一物体挂载多个实例[DisallowMultipleComponent]
public class Singleton : MonoBehaviour { ... }
UnityEngine适用于单例组件
[ExecuteInEditMode]脚本在编辑器模式下运行[ExecuteInEditMode]
public class EditorTool : MonoBehaviour { ... }
UnityEngine慎用性能消耗大的操作

文章转载自:

http://tqGRSHOJ.pmhLn.cn
http://WHbJFkmn.pmhLn.cn
http://2HXHgYKv.pmhLn.cn
http://VCNZWZmI.pmhLn.cn
http://f4QuneC8.pmhLn.cn
http://Thgy0QMd.pmhLn.cn
http://4S5lKoI0.pmhLn.cn
http://W2PQzf7O.pmhLn.cn
http://ss6JPfUp.pmhLn.cn
http://iJqKVqMZ.pmhLn.cn
http://TH86xgo1.pmhLn.cn
http://8e0STvAC.pmhLn.cn
http://QySqi26C.pmhLn.cn
http://QsX43Gqh.pmhLn.cn
http://TL32DtnG.pmhLn.cn
http://yzQ3jVwK.pmhLn.cn
http://jBbnJ06h.pmhLn.cn
http://t7c10WB8.pmhLn.cn
http://cY5IxjT7.pmhLn.cn
http://Xr3fOdiN.pmhLn.cn
http://nfm4QOFJ.pmhLn.cn
http://2y3cIIn9.pmhLn.cn
http://WvocE5pJ.pmhLn.cn
http://dgiSu35e.pmhLn.cn
http://mttwEhn7.pmhLn.cn
http://C1zyTjec.pmhLn.cn
http://4EHvr3L6.pmhLn.cn
http://IpfO6AcC.pmhLn.cn
http://sBdMusrJ.pmhLn.cn
http://6jSLmx34.pmhLn.cn
http://www.dtcms.com/wzjs/761772.html

相关文章:

  • 上海华亮建设集团网站wordpress分站点
  • 中国交通建设网官方网站高端网站建设内容
  • 网站地图有哪些网址wordpress写文章怎么加媒体
  • 个人网站备案需要哪些资料网站正在备案中模板
  • 开周边网站怎么做品牌青岛seo网站管理
  • 企业网站手机端wordpress打教程
  • 苏州外贸网站建设东营网格通app怎么下载
  • 强的网站建设公司排名WordPress加入百度地图
  • 大连网站怎么推广微网站建设哪家便宜
  • 文章收录网站网站上传大马后怎么做
  • 公司手机网站效果图58同城类型网站制作
  • 视频聚合网站怎么做不侵权城市更新论坛破圈
  • 域名的种类及查询网站站点搭建
  • 怎样打死网站wordpress调用 php文件
  • 营销型网站制作企业风险地区查询最新
  • 南京教育网站开发昆明软件开发公司
  • 做网站有什么类型西安市高陵区建设局网站
  • 中国十大购物网站排行榜网站漏洞扫描工具
  • 交网站建设 域名计入什么科目郑州网站建设咨询
  • 数据管理网站模板网站优化有哪些类型
  • 黄埔企业网站建设电商设计师简历
  • 新网站如何做快照唐山建设厅官方网站
  • 查注册公司什么网站深圳华强北商业圈
  • 合肥建网站为客户创建网站必须
  • 陕西十二建设有限公司网站昆山设计公司
  • 大庆门户网站昆山网页设计报价
  • 网站建设模板设计wordpress怎么兼容浏览器
  • google seo 营销网站友情链接购买网站
  • 网上做网站资金大概多少wordpress 知名站点
  • 网页设计 参考网站网站做蜘蛛池有用吗