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

2025-04-04 03:57:45
推荐回答(1个)
回答1:

步骤如下:

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)。