[Unity3D]Script 脚本所有编译器属性详解

Script属性是基于IDE的一系列编译器属性
JS中用@script 属性方法()访问,c#中用[属性方法()]访问。
一共就只有9种属性访问方式:

  • AddComponentMenu    在Component菜单中添加新的菜单项
  • ContextMenu      在当前脚本的组件中添加右键菜单内容
  • ExecuteInEditMode    让当前脚本可以在运行模式中实时更新修改
  • HideInInspector        是变量在检测时不被显示,但是会被实例化?
  • NonSerialized       标记一个变量不会被序列化?
  • RPC          ?
  • RenderBeforeQueues  附加一个自定义渲染 在整个引擎渲染队列之前
  • RequireComponent   强制添加一个组件,(限定一定要有某个组件)
  • Serializable      序列化一个类

---------------------------------------------------------------------------------------------------------------------------------------------------------------
AddComponentMenu
用法:
@script AddComponentMenu ("Transform/Follow Transform")
class FollowTransform : MonoBehaviour
{
}用处:

可以自己开发组件类,在菜单里往GameObject里添加组件实例。
------------------------------------------------------------------------------------
ContextMenu 
用法:
@ContextMenu ("Update Waypoints")
function UpdateWaypoints()
{
}
用处:

使用当前脚本时候可以用右键菜单触发开发环境中运行的函数
----------------------------------------------------------------------------------------
ExecuteInEditMode 
用法:
@script ExecuteInEditMode()用处:
使当前脚本可以在运行中实时更新修改,每帧都会重新导入脚本,可以方便调试使用。
----------------------------------------------------------------------------------------
HideInInspector 用法:
@HideInInspector
var p = 5;用处:
是变量在检测时不被显示,但是会被实例化??
具体用处不详,猜测为在脚本外部变量设置的时候不会被显示,但是会被作用到
-------------------------------------------------------------------------------------------
NonSerialized 
用处:
标记一个变量不会被序列化。
具体用处不详,我理解为不会被外部改变但是可以保持public状态
-------------------------------------------------------------------------------------------
RPC          
什么鬼东西-.- RPC火箭筒?还是标记他用RPC协议传输?反正官网什么都没写。
-------------------------------------------------------------------------------------------
RenderBeforeQueues  
用法:
@RenderBeforeQueues(1000, 2000)
function OnRenderObject (queue : int) {
// do some custom rendering...
}用处:
在引擎渲染之前添加一个自定义的渲染
具体用法不详,里头能用什么东西渲染我也不清楚,还有那个参数我也没搞明白,以后用到再说吧
--------------------------------------------------------------------------------------------
RequireComponent 
用法:
js:
@Script RequireComponent(Rigidbody)
 
c#:
[RequireComponent (typeof (Rigidbody))]
用处:
强制添加一个组件到这个object上,如果存在,则该组件不允许被删除。
-------------------------------------------------------------------------------------------
Serializable      
用法:
js继承Object类默认就是会被序列化
class Test extends System.Object
{
var p = 5;
var c = Color.white;
}
var test = Test ();

// C# Example
[System.Serializable]
class Test
{
public int p = 5;
public Color c = Color.white;
}

时间: 2024-10-14 06:13:47

[Unity3D]Script 脚本所有编译器属性详解的相关文章

<script>标签里面的属性详解

1. <script>标签里面,4.01时候定义了6个属性,有:defer async charset language src  type 2. defer属性:脚本立即下载但延迟到文档被解释和执行之后才执行,在HTML5里面虽然规定了脚本要按照它们出现的顺序来执行,但实际上,延迟脚本不一定会按照顺序执行,所以最好只出现一个延迟脚本.现在大多数支持HTML5的浏览器会忽略这个属性,像正常一样处理延迟脚步,最好还是把延迟脚步放在</body>前面. 3.async属性: 表示立即下

OutputCache属性详解(四)— SqlDependency

目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlDependency NoStore bool值,用于决定是否阻止敏感信息的二级存储,默认值为 false. 该属性的测试代码,我没写出来,不知道如何写,各位知道的大侠请说下哈! SqlDependency 标识一组数据库/表名称对的字符串值,页或控件的输出缓存依赖于这些名称对.请注意,SqlCach

HTML5基础与Meta http-equiv属性详解

HTML基础知识 <!DOCTYPE> 声明帮助浏览器正确地显示网页. <html> 元素定义了整个 HTML 文档. 现代网站都使用meta来声明页面内容的编码格式,我们推荐这种方式 : <meta http-equiv="Content-Type" content="text/html; charset=GBK"> 参考: head元素(head)及其包含的子元素 <head>    定义关于文档的信息. <

代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码

告诉你一些简单的技巧来优化JavaScript编译器工作,从而让你的JavaScript代码运行的更快.尤其是在你游戏中发现帧率下降或是当垃圾回收器有大量的工作要完成的时候. 单一同态: 当你定义了一个两个参数的函数,编译器会接受你的定义,如果函数参数的类型.个数或者返回值的类型改变编译器的工作会变得艰难.通常情况下,单一同态的数据结构和个数相同的参数会让你的程序会更好的工作. function example(a, b) { // 期望a,b都为数值类型 console.log(++a * +

【html】param 以及 embed 的有关 flash 属性详解

本文主要介绍 param 和 embed 标签中有关 flash 的一些属性及其属性值. 首先我们需要知道 param 和 embed 标签是单独出现的,而不是成对出现的,下面的代码是一般 flash 嵌套的代码: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>flash嵌套</title> <

HTML video 视频标签全属性详解

HTML 5 video 视频标签全属性详解 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE 9.Chrome),都不支持的(IE6.7.8).好吧,现在让我们从技术层面来认识HTML 5的视频,包括video标签的使用,视频对象可以用到的媒介属性和方法,以及媒介事件. Video标签的使用 Video标签含有src.poster.preloa

OutputCache属性详解(三)— VaryByHeader,VaryByCustom

目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) VaryByHeader :分号分隔的 HTTP 标头列表,用于使输出缓存发生变化.将该特性设为多标头时,对于每个指定标头组合,输出缓存都包含一个不同版本的请求文档. 注意:设置 VaryByHeader 特性将启用在所有 HTTP 1.1 版缓存中缓存项,而不仅仅在 ASP.NET 缓存中进行缓存.用户控件中的 @ OutputCache 指令

Unity3D游戏开发之粒子系统实现详解

 今天为大家分享的是Unity3D中的粒子系统,粒子系统通常用来表现烟雾.云等高级效果,是一个十分注重制作技巧的部分,今天我们将以一个气泡的演示实例来一起学习如何在Unity3D中使用粒子系统.首先我们创建一个Unity3D项目,然后我们导入官方提供的粒子系统资源包,如下图: 接下来,我们创建一个粒子对象,如图所示: 接下来我们在属性面板中完成对粒子系统的设置,我们通过一张图来介绍这个属性面板: 接下来,我们单击Renderer,以设置该模块的Material属性,我们将官方提供的SoapB

DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | hand | move | help | no-drop | not-allowed | pointer | progress | row-resize | text | vertical-text | wait | *-resize | url ( url )  取值: auto  :   默认值.浏览器根