2011-08-24 77 views
0

好了,所以我畫磚在我的地圖通過下面的代碼:碰撞檢測瓷磚

for (int x = 0; x < WindowsWidth + TextureWidth; x += TextureWidth) 
     { 
      for (int y = 400; y < WindowsHeight; y += TextureHeight) 
      { 
       spriteBatch.Draw(Texture, new Rectangle((int)x, (int)y, TextureWidth, TextureHeight), Color.White); 
      } 
     } 

我希望這個代碼是好,如果沒有,我想聽聽你的意見吧,請。

好的,所以我不知道如何使用這些瓷磚和我的播放器進行矩形碰撞檢測。

評論如果您需要任何其他解釋,謝謝。

+0

你嘗試過什麼?從http://create.msdn.com/en-US/到各種書籍,有很多很棒的資源http://oreilly.com/catalog/0636920013709 – Spacemancraig

回答

5

如果你想要簡單的矩形碰撞檢測,矩形對象有一個非常好的方法來幫助你(Rectangle.Intersects)。把你的瓷磚和你的角色的矩形相交。您會希望優化爲不檢查地圖中的每個圖塊。由於這聽起來像你是新的,你應該看看Nick Gravelyn的平鋪引擎教程。 The first part is here on YouTube

http://msdn.microsoft.com/en-us/library/bb464123.aspx

+6

請記住,如果您的播放器在瓷磚(比如,玩家*就像棋盤上的騎士一樣),那麼你希望邏輯上在一些後臺數據結構上執行碰撞檢測,而不是在屏幕上實際的矩形區域。 –