我想从脚本中添加GUITexture但是它有错误,然后我尝试插入GUITexture(来自GameObject>创建其他> GUI纹理)然后将其链接到脚本 但是当我尝试使用pixelInset移动guitexture时,有错误说
的NullReferenceException UnityEngine.GUITexture.get_pixelInset()(在C:/BuildAgent/work/d3d49558e4d408f4/artifacts/EditorGenerated/Graphics.cs:3254)
这是脚本
public GUITexture temp;
void Start () {
temp = new GUITexture ();
temp.pixelInset.Set (100,100,100,100);
}
答案 0 :(得分:0)
当您致电new GUITexture()
时,Unity将只生成您的temp
对象null
。然后,当您尝试使用它时,您将获得NullReference Exception
。为什么?由于GUITexture
继承自Behaviour
,因此它就是Unity的构建方式。
您已经通过编辑器拖动对GUItexture
的引用,所以您只需删除此行。
// Remove this line
temp = new GUITexture ();
答案 1 :(得分:0)
除了FunctionR的答案之外,在尝试对它做任何事情之前,最好检查一个对象是否为空。
public GUITexture temp;
void Start () {
// temp = new GUITexture (); <- Overrides the texture your assigned in the editor
if (temp) temp.pixelInset.Set (100,100,100,100);
}