Unity游戏开发之怎么在代码里面引用到Inspector里面显示的值

如题所述

第1个回答  推荐于2016-04-09
步骤如下:

1、查找是否有相应脚本的Editor文件。比如你想看的是UILabel是否有Editor文件,直接在代码里面全局搜索:[CustomEditor(typeof(UILabel))]
2、会发现UILabel的Editor文件是UILabelInspector。在这个脚本里面搜索(就是红框里面写的):Dimensions
3、会发现没有,但是UILabelInspector继承自UIWidgetInspector,所以你进入到UIWidgetInspector继续搜索:Dimensions
4、会看到有一句:NGUIEditorTools.DrawProperty("Dimensions", serializedObject, "mWidth", GUILayout.MinWidth(100f));

5、这个是NGUI自带的渲染属性的函数,跟进去会发现,其实mWidth就是上面图片中43所对应的属性,所以说,你要找的是mWidth(还有紧接着的mHeight);

6、因为是在UIWidgetInspector里面找到的mWidth,所以我们去UIWidget里面查找mWidth属性

7、在UIWidget里面搜索mWidth,会发现有个public属性是width,它负责修改mWidth,所以想在代码里面修改43的值,就直接用xxx.width = 21 这样的语句就可以了(xxx是任意UILabel)。本回答被提问者和网友采纳
第2个回答  2018-03-17
请问问题解决了吗

Unity游戏开发之怎么在代码里面引用到Inspector里面显示的值
1、查找是否有相应脚本的Editor文件。比如你想看的是UILabel是否有Editor文件,直接在代码里面全局搜索:[CustomEditor(typeof(UILabel))]2、会发现UILabel的Editor文件是UILabelInspector。在这个脚本里面搜索(就是红框里面写的):Dimensions 3、会发现没有,但是UILabelInspector继承自UIWidgetInspector,所...

...自定义编辑器时让子类继承父类的Inspector显示效果详解
首先,创建继承自Editor的自定义编辑器类,并重写OnInspectorGUI方法。在该方法中,获取目标对象的SerializedObject和SerializedProperty,并将其显示在Inspector界面上。在上述代码中,通过[CustomEditor(typeof(MyComponent))]特性指定自定义组件类为MyComponent,并创建自定义编辑器类MyComponentEditor。在OnEnable...

unity3d里面怎么让自定义的类变量显示在inspector中
添加 [System.Serializable] 的类就可以显示了,如果是js的话就不用加。:)

跪求如何在unity3d中加入一段文字,并可以控制它的隐藏显现,希望各位...
1、首先打开Unity3d,点击creat,接着点击3d object下的cube,创建参考物体。2、选中“Main camera”,并在Inspector面板点击add component,并输入脚本名字为“CameraMove”。点击new script进入下一步。3、然后点击creat and add 创建脚本。4、选择edit script 开始编辑脚本。5、然后在vs中输入以下代码。5...

在unity3D: c# 怎样调用另外一个c#脚本里面东西?
2,Class_1调用Class_2 如果Class_2没有绑定在任何GameObject上,那在Class_1里写法:Class_2 c2 = new Class_2();如果Class_2绑定在GameObject上,那在 Class_1里写法:Class_2 c2 = null;void Start(){ c2 = GameObject.Find("绑定的GameObject名字").GetComponent<Class_2>();} ...

如何获取unity中文本组件里的值
获取unity中文本组件里的值步骤如下。1、打开Unity编辑器,选择需要获取文本组件值的游戏对象。2、在Inspector面板中找到该游戏对象的文本组件(Text),并记下该组件的名称。3、在代码中使用GetComponent函数获取该文本组件。4、使用textComponent.text获取文本组件里的值。5、对文本组件里的值进行相应的操作...

关于Unity中Inspector序列化显示Dictionary的方法
在Unity中,字典无法在Inspector中进行序列化显示。通过深入探索,发现了几种方法。然而,每种方法都有其局限性。使用foreach遍历字典的每一步都需要手动编写,且在运行过程中无法与字典动态绑定。另一种方法涉及使用两个List来保存键和值,这需要为每种类型的字典创建一个类,不够灵活。接着,使用Odin ...

unity3d 脚本变量没有出现在inspector面板
关于inspector面板,贴的图显示你读取的是这个代码文件,你需要把这个脚本挂给GameObject才会显示公共变量。反过来想想,脚本是要挂给多个对象的,每个对象的变量值都可能不同,如果按你那样显示,是不可能的。第二关于VS tools你在preference里勾选了没有,现有的信息看不出来 ...

Unity 编辑器扩展二 Editor 自定义Inspector面板
OnInspectorGUI()是Unity的Editor类里的相关函数,通过对该方法的重写,可以自定义对Inspector面板的绘制。这里要先创建Test1脚本,再创建Test1Editor,否则引用会报错。以下参考 【Unity 编辑器】扩展总结三:自定义Inspector面板 Unity Editor 基础篇(二):自定义 Inspector 面板 Unity检视面板重构...

unity中如何将inputfield中的值代入到脚本函数中去?
首先,你的代码脚本里需要Using UnityEngine.UI;这个命名空间中定义了关于UGUI相关的类定义和方法;其次,通过GameObject.Find或者直接声明Public GameObject go然后Inspector中拖动赋值的方式,获取到InputField,这里简单命名为go,类型是GameObject;接着,通过获取组件,获取物体身上的InputField组件,然后访问组件...

相似回答