2015-02-07 35 views
0

我目前正在XNA的一個遊戲中爲我的學校項目工作。 它包括槳和一個球,這個想法是迫使球離開頂部邊界,然後你繼續下一個更難的水平,你去,直到你死。 所以這是我的代碼勝利檢測一塊的樣子:沒有超載的方法需要0個參數

if (position.Y < 0 && pbcollide == true) 
{ 
    MessageBox(new IntPtr(0), "Level cleared!", "Nice job", 0); 
    paddle.SetInStartPosition(); 
    paddle.lvcounter++; 
} 

這段代碼是我CheckCollisionWall方法在我Ballpbcollidebool VAR我從法CheckCollisionPaddle得到。我已經分爲類BallPaddle,並SetInStartPositionPaddle類方法和lvcounterPaddle類變量,我用它來計算水平和增加球和減少槳速度,產生更多的通電等

問題occours我BallUpdate方法,其中我呼籲CheckCollisionWall方法

public void Update() 
{ 
    position += motion * ballSpeed; 
    CheckCollisionWall(); 
    OffBottom(); 
} 

它說沒有過載該方法採用0參數。我應該把哪些論據放在那裏?我真的不知道該怎麼做。 我也嘗試將我的勝利條件放在全新的方法中以避免這種情況,但是當我這樣做時,遊戲開始時沒有錯誤,但條件滿足時絕對沒有任何反應。所以我完全困惑。

+0

把你的光標放在parantheses裏,然後按下Ctrl + P,它會顯示你的參數列表。 – 2015-02-07 13:16:58

+0

您需要將位置傳遞給CheckCollisionWall(); – 2015-02-07 13:17:19

+0

當我按Ctrl P我的打印對話框打開 當我通過位置錯誤仍然存​​在:/ – Leko 2015-02-07 13:24:00

回答

0

如何解決

沒有重載方法需要X參數

  1. 找出哪些調用導致此編譯器錯誤。 (在你的情況下,它是呼叫CheckCollisionWall();
  2. 在電話號碼在此調用的密切關注和類型的參數。(在你的情況下,它是零參數)
  3. 查找這種方法的所有定義。(您可以使用FindFind Usages或在Visual Studio智能感知)
  4. 比較所有的定義/過載使用你的電話。

的錯誤造成的,當你使用呼叫與不同數量的參數或當樂因爲與可用的定義/重載相比,一個參數具有不同的類型。

相關問題