unity3d怎么用脚本unity 激活脚本本

在Unity3d中解析Lua脚本的方法
在Unity3d中解析Lua脚本的方法
由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过。对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此。水平有限,欢迎批评指正。
网络上关于Lua脚本和Unity3d的配合使用的资料不多,例子工程大多相同。大概了解到针对性的插件有uLua、UniLua、KopiLua三种。试用了前两种,抛开效率与安全性不说,感觉uLua试用起来比较简单,本文只介绍uLua的使用步骤。
&uLua的原理是在Unity3d中解析字符串形式的Lua脚本,让Lua与C#相互传递参数和方法,这样可以以文本的形式记录Lua脚本,游戏启动后就能够动态地让一部分外部逻辑在游戏中运行起来。
如果在外部的Lua脚本中记录了加载资源的内容,那么就可以通过更新这个记录有Lua脚本的文档来加载不同的资源,实现游戏的热更新。
(当然,Lua脚本的使用的多少,使用在哪些部分,感觉值得为每款游戏量身思考,比如担心效率不高,可能就不适合使用在要求运行速度的部分;一旦Lua脚本中出现了报错,他只会报在C#中解析他的地方,因此查错的难易程度可能也是个问题)
1】下载到ulua的资源包,导入工程中,按照说明,将其中的Plugins文件夹中的内容整体复制到工程的Plugins文件夹中;
(这一步可能会出现找不到dll的错误,我这里是重启Unity解决的)
导入后工程的根目录有以下这些东西:
2】在.txt文件中编写一些Lua脚本,比如:
(注意:此处.txt脚本的后缀名是".txt")
3】将这个存有Lua脚本的.txt文件加载到游戏中,资源类型是"TextAsset":
方法任选,比如:
①放到Resources文件夹中,Resources.Load()来加载;
②放到工程中任意地方,使用Resoueces.LoadAtPath()来加载;
③打成AssetBundle,放到文件服务器上,使用WWW来异步加载。
(如果使用③的话,推荐一个名字叫做"HFS"的虚拟文件服务器的小工具很方便,只需点一下,即可模拟一个文件服务器出来:
,非常好用)
4】解析Lua脚本:
1 LuaState ls = new LuaState();
2 ls.DoString(luaString);              //luaString是加载进来的文档中的字符,类型是string
3 LuaFunction lf = ls.GetFunction("luaFunc");  //luaFunc是Lua脚本中编写的方法名
4 object[] r = lf.Call("2");            //括号中的"2"是要传递到Lua中的方法中的参与整型运算的值
5 return r[0].ToString();              //r[0]即是运算后返回的值,类型是object,用之前,需要转一下类型
非常简单,综上,Lua与Unity3d中的C#的联系,互相传递方法和参数,就OK了。你会看到,真的有外部的逻辑在正在运行的游戏中起作用了。
发表评论:
馆藏&20426
TA的推荐TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&请教下Unity3D的脚本编辑器
[问题点数:20分,结帖人yxlovemoney]
请教下Unity3D的脚本编辑器
[问题点数:20分,结帖人yxlovemoney]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity3D研究院之使用初始化游戏脚本
Unity3D研究院之使用初始化游戏脚本
围观4271次
编辑日期: 字体:
以前我只能做一个初始化场景, 在这个场景进行初始化工作, 并且保证这个场景在游戏运行中只能进一次。现在好了,unity5提供了初始化回调方法。[RuntimeInitializeOnLoadMethod]
这样初始化就和传统游戏开发初始化一样了。 没有场景 没有 游戏对象 的初始化 启动脚本。
1234567891011121314151617
using UnityEngine;using System.Collections;using System.Runtime.Hosting;&public class Instance : MonoBehaviour {&&&&&&[RuntimeInitializeOnLoadMethod]&&&&static void Initialize()&&&&{
GameObject.DontDestroyOnLoad(new GameObject("Instance",typeof(Instance)) {
hideFlags = HideFlags.HideInHierarchy
Debug.Log( "RuntimeInitializeOnLoadMethod" );&&&&}}
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!◆&function OnPostprocessAudio (clip:AudioClip):void&描述:◆&&function OnPostprocessGameObjectWithUserProperties (root : GameObject, propNames : string[], values : object[]) : void
描述:在导入文件时,为每个至少附加了一个用户属性的游戏物体调用propNames是一个string[ ],其中包含了所有找到的属性的名称,该值是一个object[ ],包含了所有实际的值,这个可以是Vector4, bool, string, Color, float, int.类型典型的运用是从存储在3dmax中的对象中读取&用户数据&基于什么用户数据被写入到对象,你可以决定以不同的方式来后处理游戏物体。下面的列子中,如果用户数据字符串包含&addboxcollider&添加一个简单的BoxCollider组件lass MyPostprocessor extends AssetPostprocessor {&&&&function OnPostprocessGameObjectWithUserProperties (go : GameObject,propNames : String[], values : System.Object[])&&&&{&&&&&&&&for (var i : int =0; i!= propNames.L i++)&&&&&&&&{&&&&&&&&&&&&&&&&var propName : String = propNames[i];&&&&&&&&&&&&var value : Object = values[i];&&&&&&&&&&&&Debug.Log("Propname: "+propName+" value: "+values[i]);&&&&&&&&&&&&if (value.GetType() == String)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&var s : String =&&&&&&&&&&&&&&&&if (s.Contains("addboxcollider")) go.AddComponent(BoxCollider);&&&&&&&&&&&&}&&&&&&&&&&&&&if (value.GetType() == Vector4)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&var v : Vector4 =&&&&&&&&&&&&&&&&// do something useful.&&&&&&&&&&&&}&&&&&&&&&&&&if (value.GetType() == Color)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&var c : Color =&&&&&&&&&&&&&&&&// do something useful.&&&&&&&&&&&&}&&&&&&&&&&&&if (value.GetType() == int)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&var myInt : int =&&&&&&&&&&&&&&&&// do something useful.&&&&&&&&&&&&}&&&&&&&&&&&&if (value.GetType() == float)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&var myFloat : float =&&&&&&&&&&&&&&&&// do something useful.&&&&&&&&&&&&}&&&&&&&&}&&&&}}◆&function OnPostprocessModel&&(root:GameObject):void描述:在子类中重载这个函数以便在模型完全导入后获得通知在一个预设被生成为游戏物体层次前,root是导入模型的根物体class MyModelPostprocessor extends AssetPostprocessor {&&&&function OnPostprocessModel (g : GameObject) {&&&&&&&&Apply(g.transform);&&&&}&&&&// 添加网格碰撞器到每个名称中包含collider的游戏物体上&&&&&&&&&&function Apply (transform : Transform)&&&&{&&&&&&&&if (transform.name.ToLower().Contains("collider"))&&&&&&&&{&&&&&&&&&&&&transform.gameObject.AddComponent(MeshCollider);&&&&&&&&}&&&&&&&&// 循环&&&&&&&&for (var child in transform)&&&&&&&&&&&&Apply(child);&&&&}}◆&function OnPostprocessTexture&&(texture:Teture2D):void描述:在子类中重载这个函数以便在纹理被完全导入并被存储到磁盘上之前获取一个通知//后期处理所有放置文件夹// "invert color" 中的文件,反转他们的颜色class InvertColor extends AssetPostprocessor {&&&&// 使用这个初始化&&&&function OnPostprocessTexture (texture : Texture2D) {&&&&&&&&// 后期处理只在文件夹&&&&&&&&// "invert color" 或它的子文件夹中的文件&// var lowerCaseAssetPath = assetPath.ToLower();&&&&&&&&// if (lowerCaseAssetPath.IndexOf ("/invert color/") == -1)&&&&&&&&&//&&&&&&&&for (var m=0;m&texture.mipmapCm++)&&&&&&&&{&&&&&&&&&&&&var c : Color[] = texture.GetPixels(m);&&&&&&&&&&&&for (var i=0;i&c.Li++)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&c[i].r = 1 - c[i].r;&&&&&&&&&&&&&&&&c[i].g = 1 - c[i].g;&&&&&&&&&&&&&&&&c[i].b = 1 - c[i].b;&&&&&&&&&&&&}&&&&&&&&&&&&texture.SetPixels(c, m);&&&&&&&&}&&&&&&&&// 不需要设置每个 mip map 等级图片的像素你也可以只修改最高mip等级的像素并使用texture.Apply(TRUE);来产生较低mip等级&&&&}}◆&function OnPreprocessAudio ():void描述:◆&function OnPreprocessModel():void描述:在子类中重载这个函数以便在模型被导入前获得一个通知这个可以让你为模型的导入设置默认值class MyMeshPostprocessor extends AssetPostprocessor {&&&&function OnPreprocessModel () {&&&&&&&&// 禁用材质生成,如果文件包含@号,表明他是动画&&&&&&&&if (assetPath.Contains("@")) {&&&&&&&&&&&&var modelImporter : ModelImporter = assetI&&&&&&&&&&&&modelImporter.generateMaterials = 0;&&&&&&&&}&&&&}}◆&function OnPostprocessTexture():void描述:在子类中重载这个函数以便在纹理导入器运行前获得一个通知,这个可以让你导入设置为默认值class MyTexturePostprocessor extends AssetPostprocessor{&&&&function OnPreprocessTexture () {&&&&&&&&// 自动转化任何文件名中带有 "_bumpmap"的纹理文件为法线贴图&&&&&&&&&&&&&&&if (assetPath.Contains("_bumpmap")) {&&&&&&&&&&&&var textureImporter : TextureImporter = assetI&&&&&&&&&&&&textureImporter.convertToNormalmap =&&&&&&&&}&&&&}}BuildPipeline类类方法◆&static function BuildAssetBundle (mainAsset : Object, Object[].pathName : string, BuildAssetBundleOptions = BuildAssetBundleOptions CollectDependenciesBuildAssetBundleOptionsCompleteAssets) : bool描述:构建资源bundle(Unity Pro only).&&&创建一个包含assets集合的压缩Unity3D文件。AssetBundles可以包含工程文件夹中的任何资源,这可以让你流式下载任何类型的资源数据,完整设置的预设,纹理,网格,动画,显示在工程窗口中的任何类型的资源。mainAsset 让你指定一个特定的物体,它可以方便地使用AssetBundle.mainAsset取回。这个压缩的资源bundle文件将被存储在pathName.options允许你自动地包含依赖性或者总是包含完整的资源而不仅仅是引用的对象。参见:AssetBundle 类,.◆&Static function BuildPlayer (levels : string[],locationPathName : string,target:BuildTarget,Options : BuildOptions) : string.描述:构建播放器(Unity Pro only)./levels/是被包含在构建中的场景,(如果 levels 为空,当前打开的场景将被构建)locationPathName 是应用程序将被保存的路径,target 是将被构建的 BuildTarget, options是一些额外的选项,如纹理压缩,调试信息剥离。◆&Static function PopAssetDependencies():void描述:让你管理不同资源bundle和播放器构建之间的交叉引用和依赖性,如果一个资源bundles依赖于另一个资源dundles,确保依赖的资源bundles通过WWW类加载是你的责任。当你放入资源依赖性时它将共享那个层上的所有资源,放入递归地继承前一个依赖关系,PushAssetDependencies和PopAssetDependencies必须成对出现。@\lenulten(&Assets/Auto Build Asset Bundles&)Static function ExportResource(){&&&&//对所有下面的资源bundles文件启用交叉引用直到//我们调用PopAssetDependenciesQuikPipcliPushAssetDcpenclencies();Var options=&&&&&BuildAssetBundleOptions CollectDependencies]&&&&&BuildAssetBundleOptions CompleteA//所有后续资源共享这个资源bundles中的资源//它是由你来确保共享的资源bundle//优先于其他资源加载Buldpipeline.BuldAssertBundle(AssetDatabase.LoadMainAssetAtPath(&assets/artwork/lerpzuv.tif&,null,&Sharde.unity3d&,options);//通过收入和弹出资源bundle,这个文件//将共享资源,但是后面的资源bundle将不会共享这个资源中的资源BuildPipeline.PushAssetDependencies();BuildPipeline.PushAssetBundle(AssetDatabaseLoadMainAssetAtPath(&Asset Artwork/Lerpztbx&),Null,&Lerpz.unity3d&,options);BuildPipeline.PushAssetDependencies();}参见:PushAssetDependencies,BuidAssetBundle.DragAndDrop类编辑器拖放操作。注意:这是一个编辑器类,为了使用它你必须放置脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&using UnityEditor,&。类变量◆&Static var activeControlID : int描述:◆&Static var objectReferences :Object[]描述:被拖动的objects的引用。没有返回null,如果没有物体引用可用返回一个空的数组。参见:paths,PrepareStartDrag,StartDrag,◆&Static var paths :string[]描述:被拖放的文件名没有返回null。如果没有路径可用返回一个空的数组。参见: objectReferences, PrepareStartDrag,StartDrag,.◆&Static var visualMode:DragAndDropVisualMode描述:拖放的视觉标志默认为DragAndDropVisualMode Linkfunction OnGUI (){var eventType = Event.current.if (eventType == EventType.DragUpdated || eventType == EventType.DragPerform){// Show a copy icon on the dragDragAndDrop.visualMode = DragAndDropVisualMode.Cif (eventType == EventType.DragPerform)DragAndDrop.AcceptDrag();Event.current.Use();}}类方法◆&Static function AcceptDrag() : void描述:接收拖动操作。◆&Static function GetGenericData(type : string) : object描述:◆&Static function PrepareStartDrag() : void描述:清除拖放数据。清楚所有存储在拖放物体中的数据并准备它,这样你可以为初始化一个拖动操作写入它。参见:StartDrag,paths,objectReferences.function OnGUI (){if (Event.current.type == EventType.MouseDrag){// 清除拖动数据DragAndDrop.PrepareStartDrag ();// 设置我们需要拖动什么DragAndDrop.paths = { "/Users/joe/myPath.txt" };// 开始拖动DragAndDrop.StartDrag ("Dragging title");// 确保我们之后没有人使用这个事件Event.current.Use();}}◆&Static function SetGenericData(type:string,data:object) : void描述:◆&Static function StartDrag(title:string): void描述:开始拖动操作。用当前拖动物体状态初始化一个拖动操作。使用paths和/或objectReferences来设置拖动状态。参见:PrepareStartDrag,paths,objectReferences.function OnGUI (){if (Event.current.type == EventType.MouseDrag){// 清除拖动数据DragAndDrop.PrepareStartDrag ();// 设置我们需要拖动什么DragAndDrop.paths = { "/Users/joe/myPath.txt" };// 开始拖动DragAndDrop.StartDrag ("Dragging title");// 确保我们之后没有人使用这个事件Event.current.Use();}}DrawGizmo类,继承自System AttributeDrawGizmo属性允许你为任何类型的Compartent提供一个gizmo渲染器。注意:这是一个编辑器类,为了使用它你必须放置脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&using UnityEditor&.&&目前,z你只能为引擎组件提供gizmo绘制,所有的gizmo绘制方法需要是静态的,//如果这个光源没有被选择将调用RenderLightGizmo函数//当拾取时gizmo被绘制@DrawGizmo (GizmoType.NotSelected | GizmoType.Pickable)static function RenderLightGizmo (light : Light, gizmoType : GizmoType){var position = light.transform.// 绘制光源图标// 在内置的光源Gizmo上面一点)Gizmos.DrawIcon (position + Vector3.up, "Light Gizmo.tiff");// 我们选择了吗? Draw a solid sphere surrounding the lightif ((gizmoType & GizmoType.SelectedOrChild) != 0){// 使用一个较为明亮的颜色表明这是一个活动对象.if ((gizmoType & GizmoType.Active) != 0)Gizmos.color = Color.elseGizmos.color = Color.red * 0.5;Gizmos.DrawSphere (position, light.range);}}/// C# 例子using UnityEusing UnityEclass GizmoTest{/// 如果这个光源没有被选择调用RenderLightGizmo函数./// 当拾取时gizmo被绘制.[DrawGizmo (GizmoType.NotSelected | GizmoType.Pickable)]static void RenderLightGizmo (Light light, GizmoType gizmoType){Vector3 position = light.transform.// 绘制光源图标// (在内置的光源Gizmo上面一点)Gizmos.DrawIcon (position + Vector3.up, "Light Gizmo.tiff");// 我们选择了吗?围绕光源绘制一个球体if ((gizmoType & GizmoType.SelectedOrChild) != 0){//使用一个较为明亮的颜色表明这是一个活动对象.if ((gizmoType & GizmoType.Active) != 0)Gizmos.color = Color.&elseGizmos.color = Color.red * 0.5F;Gizmos.DrawSphere (position, light.range);}}}构造函数◆&Static function DrawGizmo(gizmo: GizmoType): DrawGizmo描述:定义何时Gizmo应该被调用以便绘制。参见: GizmoType◆&Static function DrawGizmo(gizmo: GizmoType,drawnGizmoType:Type):DrawGizmo描述:同上,drawnGizmoType决定要绘制的Gizmo物体是什么类型的。如果drawnGizmoType为null,这个类型将由该函数的第一个参数决定。Editor类,继承自ScriptableObject一个基类,可以从它派生自定义的编辑器,使用这个给你的物体创建自定义的检视面板和编辑器。注意:这是一个编辑器类。为了使用它你必须放置脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&using UnityEditor,&。通过使用CustomEditor属性可以附加Editor到一个自定义的组件。JavaScript例子://这个例子为一个&MyPlayer&物体显示一个自定义的检视面板。它有两个变量,speed和ammo.@CustomEditor(MyPlayer)class MyPlayerEditor extends Editor{function OnInspectorGUI(){EditorGUILayout.BeginHorizontal();EditorGUILayout.PrefixLabel("Speed");target.speed = EditorGUILayout.Slider(target.speed, 0, 100);EditorGUILayout.EndHorizontal();EditorGUILayout.BeginHorizontal();EditorGUILayout.PrefixLabel("Ammo");target.ammo = EditorGUILayout.IntField(target.ammo);EditorGUILayout.EndHorizontal();}}变量◆&Var target:Object描述:被检视的对象消息传递◆&Function OnInspectorGUI():void描述:实现这个函数来制作一个自定义的检视面板。◆&Function OnSceneGUI() : void描述:在场景视图中让编辑器处理一个事件。在OnSceneGUI中你可以做,例如网格编辑,地形绘制或高级的gizmos,如果调用Eventcurrent,Use(),该事件将被编辑处理并不会被场景视图使用。继承的成员继承的变量name&&&&&&&&&&&&&&&&&&&&&&&对象的名称hideFlags&&&&&&&&&&&&&&&&&&&&该物体是否被隐藏,保存在场景中或被用户修改继承的函数GetInstanceID&&&&&&&&&&&&&&&&返回该物体的实例ID继承的消息传递OnEnable&&&&&&&&&&&&&&&&&&&&物体被加载时调用该函数OnDisable&&&&&&&&&&&&&&&&&&&当可编辑物体超出范围时调用这个函数继承的类函数CreateInstance&&&&&&&&&&&&&&&使用className创建一个可编程物体的实例。operatorbool&&&&&&&&&&&&&&&&这个物体存在吗Instannate&&&&&&&&&&&&&&&&&&克隆original物体并返回这个克隆Destroy&&&&&&&&&&&&&&&&&&&&移除一个游戏物体,组件或资源DestroyImmediate&&&&&&&&&&&立即销毁物体obj,强力建议使用Destroy代替FindObjectsOFType&&&&&&&&&返回所有类型为type的激活物体FindObjectOFType&&&&&&&&&&返回第一个类型为type的激活物体Operator==&&&&&&&&&&&&&&&&比较两个物体是否相同Operator!=&&&&&&&&&&&&&&&比较两个物体是否不相同DontDestroyOnLoad&&&&&&&&加载新场景时确保物体target不被自动销毁。EditorApplication类注意:这是一个编辑器类。为了使用它你必须放置脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&using UnityEditor,&。类变量◆&Static var applicationContentsPath:string描述:Unity编辑器内容文件的路径(只读)这个内容文件夹包含用来构建播放器的一些内部文件。◆&Static var applicationPath:string描述:返回Unity编辑器的路径(只读)参见:applicationContentsPath◆&Static var currentScene:string描述:用户当前打开的场景的路径(只读)。◆&Static var isPaused : bool描述:编辑器当前暂停?可编辑地改变暂停状态,就像按下主工具栏上的Pause按钮。参见:isPlaying.◆&Static var isPlaying : bool描述:编辑器当前处于播放模式?isPaying的设置会延迟直到到该帧中所有的脚本代码已经完成。◆&Static var isPlayingOrWillChangePlaymode : bool描述:编辑器当前处于播放模式,或者将切换到播放模式?(只读)当编辑器在完成某些任务(例如,在脚本被重编译之后)后将切换到播放模式时,这个将返回真。参见:isPlaying,isCompiling.类方法◆&Static function Beep():void描述:播放系统哔哔声//在鼠标按下事件中播放声音Function OnGUI(){&&if (Event.current.type == EventType.MouseDrag)&&&&&&&EditorApplication.Bceo();}◆&Static function Exit(returnValue:int):void描述:退出Unity编辑器。调用这个函数将立即退出,不会询问保存改变,因此你将丢失数据!◆&Static function LockReloadAssemblies():void描述:当不方便的时候阻止部件的加载。例如,在拖动操作的时候,你也许想阻止部件的重加载以便在拖动过程中不会丢失状态。每个LockReloadAssemblies必须与UnLockReloadAssemblies匹配,否则脚本将不会被卸载。Unity自动在鼠标按下的时候阻止重加载。参见:EditorApplication. UnLockReloadAssemblies◆&Static function NewScene():void描述:创建新的场景。◆&Static function OpenScene(path:string):bool描述:打开位于Path的场景。当前打开的场景不会被保存,使用SaveSceneIfUserWantsTo来做这个。◆&Static function OpenSceneAdditive(path:string):void描述:打开位于path的附加场景。◆&Static function SaveAssets ():void描述:保存所有还没有写到磁盘的可序列化资源(例如,材质)也确保资源数据库被写入。◆&Static function SaveCurrentSceneIfUserWantsTo():bool描述:询问用户是否要保存打开的场景。你可能想在打开其他场景或创建一个新的场景时调用这个函数。返回真表示你想继续。返回为假表示用户要取消这个操作,因此不应该打开其他场景。◆&Static function SaveScene(path:string):bool描述:保存场景到path.◆&Static function Step():voidl描述:执行单帧步进。就像你按下了主打工具栏上的Step按钮。◆&Static function UnLockReloadAssemblies ():voidl描述:必须在LockReloadAssemblies之后调用,来重启用集合的加载。参见:EditorApplication, LockReloadAssemblies&&&&&&&&&&&&&&&&&&EditorGUILayout&&&&&类&&&&&EditorGUI的自动布局版本&注意:这是一个编辑器类。为了使用它你必须放置脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&using UnityEditor,&。类方法◆&Static function BeginHorizontal(params options:GUILayoutOption[]):Rect◆&Static function BeginHorizontal(style:GUIStyle, params options:GUILayoutOption[]):Rect参数Style&&&&&&&&&&&&&可选的GUIStyleOptions&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&参见:GUIlayout,Width,GUILayout,Height,GUILayout MinWidth,&&&&&&&&&&&&&&&&&&GUILayout MaxWidth, GUILayout MinHeight, GUILayout MaxHeight&&&&&&&&&&&&&&&&&&GUILayout ExpandWidth, GUILayout ExpandHeight,描述:开始一个水平组并获取它的矩形。这是GUILayout BeginHorizontal的扩展,用来制作组合控件。//组合按钮Rect r = EditorGUILayout.BeginHorizontal ("Button");if (GUI.Button (r, GUIContent.none))Debug.Log ("Go here");GUILayout.Label ("I'm inside the button");GUILayout.Label ("So am I");EditorGUILayout.EndHorizontal ();◆&Static function BeginScrollView (scrollPosition : Vector2,&&params options:GUILayoutOption[]):Vector2static function BeginScrollView (scrollPosition : Vector2, alwaysShowHorizontal : bool, alwaysShowVertical : bool, horizontalScrollbar : GUIStyle, verticalScrollbar : GUIStyle, params options : GUILayoutOption[]) : Vector2参数scrollPosition&&&&&&&&&&&&&&用来显示的位置alwaysShowHorizontal&&&&&&&可选的参数用来总是显示水平滚动条,如果为黑线留空,它就只在ScrollView中的内容比滚动提高时显示。alwaysShowVertical&&&&&&&&&可选的参数用来总是显示垂直滚动条,如果为黑线留空,它就只在ScrollView中的内容比滚动提高时显示。horizontalScrollbar&&&&&&&&&&用于水平滚动条的可选GUIStyle,如果不设置,将使用当前GUISkin的horizontalScrollbarverticalScrollbar&&&&&&&&&&&&&&&用于垂直滚动条的可选GUIStyle,如果不设置,将使用当前GUISkin的verticalScrollbar风格。返回:Vector2,修改过的scrollPosition,回传这个变量,如下的例子。描述:开始有个自动布局滚动条。这个就像GUILayout BeginScrollView一样,但是更像应用程序且应该在编辑器中使用。◆&static function BeginToggleGroup (label : string, toggle : bool) : bool◆&static function BeginToggleGroup (label : GUIContent, toggle : bool) : bool参数label&&&&&&&&&&&显示在开关控件上的标签toggle&&&&&&&&&&开关组的启用状态返回bool & 用户选择的启用状态。描述:开始一个带有开关的组,以便一次启用或禁用其中的所有控件。参见:EndToggleGroup// 设置settingsOn = EditorGUILayout.BeginToggleGroup("Settings", settingsOn);backgroundColor = EditorGUILayout.ColorField(backgroundColor);soundOn = EditorGUILayout.Toggle(soundOn, "Turn on sound");EditorGUILayout.EndToggleGroup();◆&static function BeginVertical (params options : GUILayoutOption[ ]) : Rect◆&static function BeginVertical (style : GUIStyle, params options : GUILayoutOption[ ]) :Rect参数Style&&&&&&&&&&&&&&&可选的GUIStyleOptions&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定程序的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.描述:开始一个垂直组并获取它的矩形。这是GUILayout.BeginVertical的扩展,用来制作组合控件。// 组合按钮Rect r = EditorGUILayout.BeginVertical ("Button");if (GUI.Button (r, GUIContent.none))Debug.Log ("Go here");GUILayout.Label ("I'm inside the button");GUILayout.Label ("So am I");EditorGUILayout.EndVertical ();◆&static function ColorField (value : Color, params options : GUILayoutOption[ ]) : Color◆&static function ColorField (label : string, value : Color, params options : GUILayoutOption[ ]) : Color◆&static function ColorField (label : GUIContent, value : Color,params options : GUILayoutOption[ ]) : Color参数Label&&&&&&&&&&显示在该域前面的可选标签。Value&&&&&&&&&&用于编辑的颜色Options&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置。&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight返回:Color- 用户选择的颜色描述:制作一个用来选择Color的域◆&static function EndHorizontal () : void描述:关闭一个开始于BeginHorizontal的组◆&static function EndScrollView () : void描述:结束开始于BeginScrollView的滚动视。◆&static function EndToggleGroup () : void描述:关闭一个开始于BeginToggleGroup// SettingssettingsOn = EditorGUILayout.BeginToggleGroup("Settings", settingsOn);backgroundColor = EditorGUILayout.ColorField(backgroundColor);soundOn = EditorGUILayout.Toggle(soundOn, "Turn on sound");EditorGUILayout.EndToggleGroup();◆&static function EndVertical () : void描述:关闭一个开始于BeginVertical的组◆&static function EnumPopup (label : GUIContent, selected : System.Enum, style : GUIStyle, params options : GUILayoutOption[ ]) : System.Enum参数label&&&&&&&&&该域前面可选的标签&selected&&&&&&该域显示的选项style&&&&&&&&&&可选的GUIStyle&options&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由Sryle定义的设置。&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight返回:floar-被用户选择的选项描述:制作一个弹出式选择域使用当前选择的值作为参数并返回用户选择的值。◆&static function FloatField (label : GUIContent, value : float, style : GUIStyle, params options : GUILayoutOption[]) : float参数Label&&&&&&&&&&&&&显示在浮点域前面的可选标签。Value&&&&&&&&&&&&&用于编辑的值Style&&&&&&&&&&&&&&可选的GUIStyleOptions&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置。&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight返回:float & 用户输入的值描述:制作一个文本域以便输入浮点数。◆&static function Foldout (foldout : bool, content : string, style : GUIStyle = EditorStyles.foldout) : bool◆&static function Foldout (foldout : bool, content : GUIContent, style : GUIStyle = EditorStyles.foldout) : bool&参数Foldout&&&&&&&&&&&&&&&&显示折叠状态Content&&&&&&&&&&&&&显示的标签Style&&&&&&&&&&&&&&&&可选的GUIStyle返回:bool & 用户选择的折叠状态,如果为真,应该渲染子对象。描述:制作一个左侧带有折叠箭头的标签。这可以用来创建一个树或文件夹结构,这里子对象只在夫展开的时候显示◆&static function InspectorTitlebar (foldout : bool, targetObj : Object) : bool参数Foldout&&&&&&&&&&&&&&&&&&&折叠状态用这个箭头显示。targetObj&&&&&&&&&&&&&&&&&&使用该标题栏的对象(例如组件)返回:bool & 用户选择的折叠状态描述:制作一个检视窗口标题栏该标题栏有一个折叠箭头,一个帮助图标和一个设置菜单,设置菜单依赖于所提供的对象的类型。◆&static function IntField (value : int, params options : GUILayoutOption[ ]) : int◆&static function IntField (value : int, style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&static function IntField (label : string, value : int, params options : GUILayoutOption[ ]) : int◆&static function IntField (label : string, value : int, style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&static function IntField (label : GUIContent, value : int, params options : GUILayoutOption[ ]) : int◆&static function IntField (label : GUIContent, value : int, style : GUIStyle, params options : GUILayoutOption[ ]) : int参数Label&&&&&&&&&&&&&&&&&&&&&&&&显示在该整型域前面的可选标签。Value&&&&&&&&&&&&&&&&&&&&&&&&用于编辑的值Style&&&&&&&&&&&&&&&&&&&&&&&&&可选的GUIStyleOptions&&&&&&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局&&&&&&&&&&&&&&&&&&&&&&&&&&&&&属性。任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight返回:int & 用户输入的值。描述:制作一个文本域以便输入整数。◆&&static function IntPopup (selectedValue : int, displayedOptions : string[ ], optionValues : int[ ], params options : GUILayoutOption[ ]) : int&&&&&&&&&参数&&&&&&&&&Label&&&&&&&&&&&&&&&&该域前面可选的标签。&&&&&&&&&selectedValue&&&&&&&&该域显示的选项的值&&&&&&&&&displayedOptions&&&&&一个带有显示X显示选项的数组,用户可以从中选择。&&&&&&&&&optionValues&&&&&&&&&一个为每个选项存储值得数组。&&&&&&&&&Style&&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&&&&&Options&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&&&&&返回:int & 被用户选择的选项的值&&&&&&&&&&&描述:制作一个整形弹出式选择域&&&&&&&&&&&使用当前选择的整数作为参数并返回用户选择的整数。◆&&static function IntSlider (value : int, leftValue : int, rightValue : int, params options : GUILayoutOption[ ]) : int◆&&static function IntSlider (label : string, value : int, leftValue : int, rightValue : int, params options : GUILayoutOption[ ]) : int◆&static function IntSlider (label : GUIContent, value : int, leftValue : int, rightValue : int, params options : GUILayoutOption[ ]) : int&&&&&参数&&&&&Label&&&&&&&&&&&&&&&&&&&&&该滑杆前面可选的标签。&&&&&Value&&&&&&&&&&&&&&&&&&&&&滑杆显示的值。这个决定可拖动滑块的位置。&&&&&leftValue&&&&&&&&&&&&&&&&&&滑杆左端的值&&&&&&rightValue&&&&&&&&&&&&&&&&&滑杆右端的值&&&&&options&&&&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&返回:int & 被用户设置的值&&&&&&描述:制作一个用户可以拖动到滑杆可以在min和max之前改变一个整数值。◆&static function LabelField (label : string, label2 : string, params options : GUILayoutOption[ ]) : void参数Label&&&&&&&&&&&&&&&&&&&&&&该域前面的标签Label2&&&&&&&&&&&&&&&&&&&&&显示在右侧的标签Options&&&&&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight描述:制作一个标签域(用来显示只读信息)◆&&&static function LayerField (layer : int, params options : GUILayoutOption[ ]) : int◆&&&static function LayerField (layer : int, style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&&&static function LayerField (label : string, layer : int, params options : GUILayoutOption[ ]) : int◆&&&static function LayerField (label : string, layer : int, style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&&&static function LayerField (label : GUIContent, layer : int, params options : GUILayoutOption[ ]) : int◆&&&static function LayerField (label : GUIContent, layer : int, style : GUIStyle, params options : GUILayoutOption[ ]) : int&&&&&&参数&&&&&&Label&&&&&&&&&&&&&&&&&&&&&&&该域前面可选的标签&&&&&&Layer&&&&&&&&&&&&&&&&&&&&&&&显示在该域中的层&&&&&&Style&&&&&&&&&&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&Options&&&&&&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&&返回:int & 用户选择的层&&&&&&&&&描述:制作一个层选择域◆&static function ObjectField (obj : Object, objType : System.Type, params options : GUILayoutOption[ ]) : Object◆&static function ObjectField (label : string, obj : Object, objType : System.Type, params options : GUILayoutOption[ ]) : Object◆&static function ObjectField (label : GUIContent, obj : Object, objType : System.Type, params options : GUILayoutOption[ ]) : Object参数Label&&&&&&&&&&&&&&&&&&&&&&&&&&&该域前面可选的标签Obj&&&&&&&&&&&&&&&&&&&&&&&&&&&&&该域显示的对象objType&&&&&&&&&&&&&&&&&&&&&&&&&对象的类型options&&&&&&&&&&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&返回:Object & 被用户设置的对象&&&&&描述:制作一个物体放置槽域◆&&&static function PasswordField (password : string, params options : GUILayoutOption[ ]) : string◆&&&static function PasswordField (password : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string◆&&&static function PasswordField (label : string, password : string, params options : GUILayoutOption[ ]) : string◆&&&static function PasswordField (label : string, password : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string◆&&&static function PasswordField (label : GUIContent, password : string, params options : GUILayoutOption[ ]) : string◆&&&static function PasswordField (label : GUIContent, password : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string&&&&&&参数&&&&&&Label&&&&&&&&&&&&&&&&显示在该密码域前面的可选标签&&&&&&Password&&&&&&&&&&用于编辑的密码&&&&&&Style&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&Options&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外iad布局属性任何在这里设置的值将覆盖由style定义的设置参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight,&GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&返回:string & 用户输入的密码&&&&&&&描述:制作一个用户可以输入密码的文本域&&&&&&&&&这个就像GUILayoutPasswordField,但是正确的响应所有选择,在编辑器中,可以有一个可选的标签在前面。◆&&&static function Popup (selectedIndex : int, displayedOptions : string[ ], params options : GUILayoutOption[ ]) : int◆&&&static function Popup (selectedIndex : int, displayedOptions : string[ ], style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&&&static function Popup (selectedIndex : int, displayedOptions : GUIContent[ ], params options : GUILayoutOption[ ]) : int◆&&&static function Popup (selectedIndex : int, displayedOptions : GUIContent[ ], style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&&&static function Popup (label : string, selectedIndex : int, displayedOptions : string[ ], params options : GUILayoutOption[ ]) : int◆&&&static function Popup (label : string, selectedIndex : int, displayedOptions : string[ ], style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&&&static function Popup (label : GUIContent, selectedIndex : int, displayedOptions : GUIContent[], params options : GUILayoutOption[ ]) : int
◆&static function Popup (label : GUIContent, selectedIndex : int, displayedOptions : GUIContent[ ], style : GUIStyle, params options : GUILayoutOption[ ]) : int◆&&&&&&&&参数&&&&&&&Label&&&&&&&&&&&&&&&&&&该域前面可选的标签&&&&&&selectedIndex&&&&&&&&&&&该域显示的选项的索引&&&&&&displayedOptions&&&&&&&&显示在弹出菜单中的选项数组&&&&&&style&&&&&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&options&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&返回:int & 被用户选择的选项的索引&&&&&&&描述:制作一个通用的弹出式选择域&&&&&&&使用当前选择的索引作为参数并返回用户选择的索引◆&&&static function PrefixLabel (label : string, followingStyle : GUIStyle = "Button") : void◆&&&static function PrefixLabel (label : string, followingStyle : GUIStyle, labelStyle : GUIStyle) : void◆&&&static function PrefixLabel (label : GUIContent, followingStyle : GUIStyle = "Button") :void◆&&&static function PrefixLabel (label : GUIContent, followingStyle : GUIStyle, labelStyle : GUIStyle) : void&&&&&&&参数&&&&&&&Label&&&&&&&&&&&&&&&&&&显示在控件前面的标签&&&&&&&描述:在一些控件前面制作一个标签。&&&&&&&GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight◆&&&static function RectField (value : Rect, params options : GUILayoutOption[ ]) : Rect◆&&&static function RectField (label : string, value : Rect, params options : GUILayoutOption[ ]) : Rect◆&&&static function RectField (label : GUIContent, value : Rect, params options : GUILayoutOption[ ]) : Rect&&&&&参数&&&&&Label&&&&&&&&&&&&&&&&&&&&显示在该域上的标签&&&&&Value&&&&&&&&&&&&&&&&&&&&用于编辑的值&&&&&Options&&&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&返回:Rect & 用户输入的值&&&&&&描述:制作一个X,Y,W&H域以便输入一个Rect。◆&static function Separator () : void描述:在前一个控件和后面的控件之前制作一个小的分隔符。◆&&static function Slider (value : float, leftValue : float, rightValue : float, params options : GUILayoutOption[ ]) : float◆&&static function Slider (label : string, value : float, leftValue : float, rightValue : float, params options : GUILayoutOption[ ]) : float◆&&static function Slider (label : GUIContent, value : float, leftValue : float, rightValue : float, params options : GUILayoutOption[ ]) : float&&&&&参数&&&&&Label&&&&&&&&&&&&&&&&&该滑杆前面可选的标签&&&&&Value&&&&&&&&&&&&&&&&&滑杆显示的值,这个决定可拖动滑块的位置。&&&&&leftValue&&&&&&&&&&&&&&滑杆左端的值&&&&&rightValue&&&&&&&&&&&&&滑杆右端的值&&&&&options&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&返回:float & 被用户设置的值&&&&描述:一个用户可以拖动到滑杆,可以在min和max之前改变一个值。◆&static function Space():void描述:在前一个控件和后面的控件之间制作一个小的空格。◆&&&static function TagField (tag : string, params options : GUILayoutOption[ ]) : string◆&&&static function TagField (tag : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string◆&&&static function TagField (label : string, tag : string, params options : GUILayoutOption[ ]) : string◆&&&static function TagField (label : string, tag : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string◆&&&static function TagField (label : GUIContent, tag : string, params options : GUILayoutOption[ ]) : string◆&&&static function TagField (label : GUIContent, tag : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string&&&&&&参数&&&&&&Label&&&&&&&&&&&&&&&&&该域前面可选定标签&&&&&&Tag&&&&&&&&&&&&&&&&&&&该域显示的标签&&&&&&Style&&&&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&Options&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性。任何在这里设置的值将覆盖由style定义的设置。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&&返回:string & 用户选择的标签&&&&&&&&描述:制作一个标签选择域
◆&&&static function TextArea (text : string, params options : GUILayoutOption[ ]) : string◆&&static function TextArea (text : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string&&&&&&参数&&&&&&Text&&&&&&&&&&&&&&&&&&&用于编辑的文本&&&&&&Style&&&&&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&Options&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&&返回:string & 用户输入的文本&&&&&&&&描述:制作一个文本区域&&&&&&&&这个就像GUIlayout。TextArea一样。但是正确地响应全选,拷贝,粘帖等。在编辑器中◆&&&&static function TextField (text : string, params options : GUILayoutOption[ ]) : string◆&&&&static function TextField (text : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string◆&&&&static function TextField (label : string, text : string, params options : GUILayoutOption[ ]) : string◆&&&&static function TextField (label : string, text : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string◆&&&&static function TextField (label : GUIContent, text : string, params options : GUILayoutOption[ ]) : string◆&&&&static function TextField (label : GUIContent, text : string, style : GUIStyle, params options : GUILayoutOption[ ]) : string&&&&&&&&参数&&&&&&&&Label&&&&&&&&&&&&&&&&&显示在该文本前面的可选标签&&&&&&&&Text&&&&&&&&&&&&&&&&&&&用于编辑的文本&&&&&&Style&&&&&&&&&&&&&&&&&&&可选的GUIStyle&&&&&&Options&&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&&返回:string & 用户输入的文本&&&&&&&&描述:制作一个文本区域&&&&&&&&这个就像GUIlayout。TextField一样。但是正确地响应全选,拷贝,粘帖等。在编辑器中,可以有一个可选的标签在前面◆&&&&static function Toggle (value : bool, params options : GUILayoutOption[ ]) : bool◆&&&&static function Toggle (label : string, value : bool, params options : GUILayoutOption[ ]) : bool◆&&&&static function Toggle (label : GUIContent, value : bool, params options : GUILayoutOption[ ]) : bool&&&&&&&参数&&&&&&&Label&&&&&&&&&&&&&&&&&该开关前面可选的标签&&&&&&&Value&&&&&&&&&&&&&&&&&这个开关的显示状态&&&&&&&Options&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&返回: bool & 这个开关的显示状态&&&&&&&描述: 制作一个开关◆&&&&static function Vector2Field (label : string, value : Vector2, params options : GUILayoutOption[ ]) : Vector2&&&&&&&参数&&&&&&&Label&&&&&&&&&&&&&&&&&显示在该域上的标签&&&&&&&Value&&&&&&&&&&&&&&&&&用于编辑的值&&&&&&&Options&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&返回:Vector2 & 用户输入的值&&&&&&&描述:制作一个X&Y域以便输入一个Vector2◆&&&&static function Vector3Field (label : string, value : Vector3, params options :&&&&&&&&&GUILayoutOption[ ]) : Vector3&&&&&&&参数&&&&&&&Label&&&&&&&&&&&&&&&&&显示在该域上的标签&&&&&&&Value&&&&&&&&&&&&&&&&&用于编辑的值&&&&&&&Options&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&返回:Vector3 & 用户输入的值&&&&&&&描述:制作一个X&Y域以便输入一个Vector3◆&&&&static function Vector4Field (label : string, value : Vector4, params options :&&&&&&&&&GUILayoutOption[ ]) : Vector4&&&&&&&参数&&&&&&&Label&&&&&&&&&&&&&&&&&显示在该域上的标签&&&&&&&Value&&&&&&&&&&&&&&&&&用于编辑的值&&&&&&&Options&&&&&&&&&&&&&&&一个可选的布局选项的列表,它用来指定额外的布局属性,任何在这里设置的值将覆盖由style定义的设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&参见:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight&&&&&&&返回:Vector4 & 用户输入的值&&&&&&&描述:制作一个X&Y域以便输入一个Vector4&&&&EditorGUIUtility&&&类,继承自GUIUility用户EditorGUI的各种辅助函数&&&注意:这是一个编辑器类。为了使用它你必须防止脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&usingUnityEditor&变量◆statie var systemCopyBuffer:string描述:系统拷贝缓存使用这个使拷贝和粘贴为你自己的数据工作◆statie var whiteTexture:Texture2D描述:获取一个白色纹理类方法◆statie function AddCursorRect(position:Rect,mouse:MouseCursor):void参数position&&&&&&&&&&&&&&&&&显示控件的矩形mouse&&&&&&&&&&&&&&&&&&使用鼠标光标描述:添加一个自定义的鼠标光标到一个控件function OnGUI(){&&&&// 当鼠标悬停在这个矩形上时,显示&link&光标&&&&EditorGUIUtility.AddCursorRect (Rect(10,10,100,100), MouseCursor.Link);&&&&&&&}◆static function DrawColorSwatch (position : Rect, color : Color) : void参数position&&&&&&&&&&&&&&&&&绘制样板颜色的矩形。Color绘制颜色描述:绘制一个颜色样本◆static function FindTexture (name : string) : Texture2D&描述:从源文件名获取一个纹理◆static function HasObjectThumbnail (objType : Type) : bool描述:给定的类有对象有小物体◆static function Load (path : string) : Object描述:加载一个内置资源这个函数将在Assets/Editor Default Resources/ + path中查找资源,如果没有,它将按照名称尝试内置的编辑器资源var handleMaterial : Material = EditorGUIUtility.Load (Load("HandleMaterial.mat"));◆static function LoadRequired (path : string) : Object描述:加载位于路径上的内置资源这个函数将在Assets/Editor Default Resources/ + path中查找任何资源。var handleMaterial : Material = EditorGUIUtility.Load (Load("HandleMaterial"));◆&static function LookLikeControls (labelWidth : float = 100, fieldWidth : float = 70) : void◆&参数labelWidth&&用于前缀标签的宽带fieldWidth&&&&&文本条目的宽度。参见:LookLikeInspector描述:使所有ref::EditorGUI外观像普通控件这将使EditorGUI::ref::使用默认风格,看起来想控件(例如e.g. EditorGUI.Popup成为一个完全是弹出菜单)◆&&static function LookLikeInspector () : void描述:使所有ref::EditorGUI外观像简化边框的视控件这个将使EditorGUI使用的默认风格的外观就像它在检视面板中一样参见:LookLikeControls◆&&static function ObjectContent (obj : Object, type : System.Type) : GUIContent描述:返回一个带有名称和图标的GUIContent物体如果物体为空,图标将根据类型选择◆&&static function PingObject (obj : Object) : void描述:Ping窗口中的一个对象,就像在检视面板中点击它◆&&static function QueueGameViewInputEvent (evt : Event) : void描述:发送一个输入事件到游戏◆&static function RenderGameViewCameras (cameraRect : Rect, statsRect : Rect, stats : bool, gizmos : bool) : voidcameraRect&&用于渲染所有游戏相机的设备坐标statsRect&&&&&&统计应该显示的地方stats&&&&&&&&&&叠加显示统计数据gizmos&&&&&&也显示gizmos描述:渲染所有游戏内的相机继承的成员继承的类变量hotControl&&&&&&&&&&当前具有热点的控件controlIDkeyboardControl&&具有键盘焦点控件的controlID继承的类函数GetControlID&&&&&&为一个控件获取唯一IDGetStateObject&&&&&&从一个 controlID.获取一个状态QueryStateObject&&从一个 controlID.获取一个存在的状态物体MoveNextAndScroll&&只允许从 OnGUI内部调用GUI函数GUIToScreenPoint&&将一个点从GUI位置转化为屏幕空间ScreenToGUIPoint&&将一个点从屏幕空间转化为GUI位置RotateAroundPivot&&使GUI围绕一个点选择的辅助函数ScaleAroundPivot&EditorGUI类只用于编辑器GUI的类,这个类包含了附加到UnityGUI的通用2D元素&&&注意:这是一个编辑器类。为了使用它你必须防止脚本到工程文件夹的Assets/Editor中,编辑器类位于UnityEditor命名空间因此对于C#脚本你需要在脚本开始位置添加&usingUnityEditor&&&&这些工作的非常像普通的GUI函数,在EditorGUILayout中也有相同实现类变量static var actionKey : bool描述:平台相关的"action"调整键被按下(只读)Mac OS X为 Command, Windows上为Control类方法◆static function ColorField (position : Rect, value : Color) : Color◆static function ColorField (position : Rect, label : string, value : Color) : Color◆static function ColorField (position : Rect, label : GUIContent, value : Color) : Color&&参数&&position&&&&&&屏幕上用于域的矩形区域label&&&&&&显示在该域前面的可选标签value&&&&&&用于编辑的颜色返回:Color & 用户选择的颜色描述:制作一个用来选择Color的域◆static function DrawTextureAlpha (position : Rect, image : Texture, scaleMode : ScaleMode = ScaleMode.StretchToFill, imageAspect : float) : void参数position&&&&&屏幕上用来绘制纹理的矩形区域image&&&&&显示的TexturescaleMode&当纹理的长宽比不适合绘制的长宽比时如何缩放这个图片alphaBlend&是否用 alpha 混合显示图片(默认)如果为假,图片将绘制到屏幕imageAspect&用于源图像的宽高比,如果为0(默认),使用来自图片的宽高比描述:在一个矩形中绘制纹理的alpha通道参见: GUI.color, GUI.contentColor◆static function EnumPopup (position : Rect, selected : System.Enum, style : GUIStyle = EditorStyles.popup) : System.Enum◆static function EnumPopup (position : Rect, label : string, selected : System.Enum, style : GUIStyle = EditorStyles.popup) : System.Enum◆static function EnumPopup (position : Rect, label : GUIContent, selected : System.Enum, style : GUIStyle = EditorStyles.popup) : System.Enum参数position&&&&&屏幕上用来绘制纹理的矩形区域label&&&&&&&&&该域前面可选的标签selected&&&&&该域显示的选项style&&&&&&&&&可选的GUIStyle.返回:float-&&&被用户选择的选项描述:制作一个弹出式选择域使用当前选择的值作为参数并返回用户选择的值◆static function FloatField (position : Rect, value : float, style : GUIStyle = EditorStyles.numberField) : float◆static function FloatField (position : Rect, label : string, value : float, style : GUIStyle = EditorStyles.numberField) : float◆static function FloatField (position : Rect, label : GUIContent, value : float, style : GUIStyle = EditorStyles.numberField) : float参数position&&&&&屏幕上用来浮点值的矩形区域label&&&&&&&&&显示在浮点域前面的可选标签value&&&&&&&该域显示的选项style&&&&&&&&&可选的GUIStyle.返回:float-&&&被用户输入的值描述:制作一个文本域以便输入浮点值◆static function Foldout (position : Rect, foldout : bool, content : string, style : GUIStyle = EditorStyles.foldout) : bool◆static function Foldout (position : Rect, foldout : bool, content : GUIContent, style : GUIStyle = EditorStyles.foldout) : bool参数position&&&&&屏幕上用于箭头和标签的矩形区域foldout&&&&&&&显示折叠状态content&&&&&&&显示的标签style&&&&&&&&&可选的GUIStyle.返回:bool-&&&用户选择的折叠状态,如果为真,应该渲染子对象描述:制作一个左侧带有折叠箭头的标签这个可以用来创建一个树或则文件夹结构,这里子对象只在父展开的时候显示◆&static function InspectorTitlebar (position : Rect, foldout : bool, targetObj : Object) : bool参数position&&&&&屏幕上用于标题栏的矩形区域foldout&&&&&&&显示折叠状态targetObj&&&使用该标题栏的对象返回:bool-&&&用户选择的折叠状态描述:制作一个检视窗口标题栏该标题栏有一个折叠箭头,一个帮助图标和设置菜单,设置菜单以来于所提供对象类型◆static function IntField (position : Rect, value : int, style : GUIStyle = EditorStyles.numberField) : int◆static function IntField (position : Rect, label : string, value : int, style : GUIStyle = EditorStyles.numberField) : int◆static function IntField (position : Rect, label : GUIContent, value : int, style : GUIStyle = EditorStyles.numberField) : int参数position&&&&&屏幕上用于整型域的矩形区域label&&&&&&&&&显示在该整型域前面的可选标签value&&&&&&&用于编辑的值style&&&&&&&&&可选的GUIStyle.返回:int-&&用户输入的值描述:制作一个文本域以便输入整数◆static function IntPopup (position : Rect, selectedValue : int, displayedOptions : string[], optionValues : int[], style : GUIStyle = EditorStyles.popup) : int◆static function IntPopup (position : Rect, selectedValue : int, displayedOptions : GUIContent[], optionValues : int[], style : GUIStyle = EditorStyles.popup) : int◆static function IntPopup (position : Rect, label : string, selectedValue : int, displayedOptions : string[], optionValues : int[], style : GUIStyle = EditorStyles.popup) : int◆static function IntPopup (position : Rect, label : GUIContent, selectedValue : int, displayedOptions :GUIContent[], optionValues : int[], style : GUIStyle = EditorStyles.popup) : int参数position&&&&&&&&&&&&&屏幕上用于域的矩形区域label&&&&&&&&&&&&&&&&&可选标签selectedValue&&&&&&&显示的选项的值displayedOptions&&&&&&&一个带有显示X选项的数组,用户可以选择optionValues&&&&&&&&&&&一个为每个选项存储值的数组style&&&&&&&&&&&&&&&&&可选的GUIStyle.返回:int- 被用户选择的值描述:制作一个整形弹出式选择域只用当前选择的整数作为参数并返回用户选择的整数◆static function IntSlider (position : Rect, value : int, leftValue : int, rightValue : int) : int◆static function IntSlider (position : Rect, label : string, value : int, leftValue : int, rightValue : int) : int◆static function IntSlider (position : Rect, label : GUIContent, value : int, leftValue : int, rightValue : int) : int参数position&&&&&屏幕上用于滑竿的矩形区域label&&&&&&&&&该滑竿前面可选择的标签value&&&&&&&&&滑竿显示的值leftValue&&&&&滑竿左端值rightValue&&&&滑竿右端值返回:int-&&&用户设置的值描述:制作一个可以拖动的滑竿,可以在min和max之间设置参数
阅读(...) 评论()}

我要回帖

更多关于 unity3d 获取脚本组件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信