Can';t在C#/Unity上加载鼠标光标纹理

Can';t在C#/Unity上加载鼠标光标纹理,c#,nullreferenceexception,texture2d,mouse-cursor,C#,Nullreferenceexception,Texture2d,Mouse Cursor,无论我在何处实例化游标,都会获得NullReferenceException:对象引用未设置为对象的实例 Cursor.Update(),我缺少什么?您应该把这行 public class Cursor : MonoBehaviour { public Texture2D cursor; public int cursorSizeX = 16; // default public int cursorSizeY = 16; // default // U

无论我在何处实例化游标,都会获得NullReferenceException:对象引用未设置为对象的实例
Cursor.Update(),我缺少什么?

您应该把这行

public class Cursor : MonoBehaviour 
{ 
     public Texture2D cursor; 
     public int cursorSizeX = 16; // default 
     public int cursorSizeY = 16; // default 

// Use this for initialization 
void Start () 
{ 
     Object temp = Resources.Load("Textures/CR_Cursor (Custom)"); 

     if (temp == null) 
     Debug.Log("Load Object Fail"); 

     cursor = (Texture2D)Resources.Load("Textures/CR_Cursor (Custom)"); 

     if (cursor == null) 
     Debug.Log("Load Cursor Fail"); 

     Screen.showCursor = false; 
} 

// Update is called once per frame 
void Update () 
{ 
     GUI.DrawTexture(new Rect(Event.current.mousePosition.x - cursorSizeX / 2,      Event.current.mousePosition.y - cursorSizeY / 2, cursorSizeX, cursorSizeY), cursor); 
} 
在OnGUI()内部,而不是在更新中

GUI.DrawTexture(new Rect(Event.current.mousePosition.x - cursorSizeX / 2,      Event.current.mousePosition.y - cursorSizeY / 2, cursorSizeX, cursorSizeY), cursor); 
下面是一张关于脚本生命周期的图表


成功了。即使如此,我有时也会看到鼠标闪烁,特别是在场景开始时。有办法避免吗?那么我应该使用no Update()函数吗?如果我真的使用了一个,OnGUI将被执行得很快或比更新更晚?我放了一个脚本生命周期图,我很确定你可以在播放器设置的某个地方设置鼠标光标的图形
void OnGUI(){

GUI.DrawTexture(new Rect(Event.current.mousePosition.x - cursorSizeX / 2,      Event.current.mousePosition.y - cursorSizeY / 2, cursorSizeX, cursorSizeY), cursor); 

}