2014-05-08 62 views
0

我不斷收到此消息:類型「System.NullReferenceException」爲XNA遊戲未處理的異常

類型「System.NullReferenceException」的下面的代碼未處理的異常:

 if (position.X >= p.position.X && position.X != p.position.X) 
      position.X -= Yspeed; 
     if (position.X >= p.position.X && position.X != p.position.X) 
      position.X += Yspeed; 
     position.Y = position.Y + Yspeed; 

專指到第一行。我想要做的是將敵人移向玩家。

回答

1

您正在訪問一個空引用的字段或方法:

MyType instance = null; 

// Throws a NullReferenceException because instance is 
// not an actual object but null. 
instance.Name = "foo"; 

,所以我想position,或者更確切地說p未設置。如果您使用的是像Visual Studio這樣的IDE,請使用斷點並檢查變量並檢查它們是否包含某些內容。

+0

如果position是Vector2,它必須是p。結構始終被初始化爲默認值。 – deathismyfriend

+1

是的,但我們實際上並沒有看到「位置」聲明和類型定義。它可以是一個班級。但我相當肯定你是對的。 – Lucius

相關問題