我建立一個太空入侵者遊戲,我用這個LINQ的方法,看看是否侵略者被玩家打:矩形包含問題
foreach (var playerShot in playerShots)
{
if (isWeapon)
{
AliensHit = from invader2 in invaders
where invader2.Area.Contains(playerShot.Area)
select invader2;
}
}
後來我有一個算法,消除了開槍的侵略者,但這並不重要,因爲 包含方法不起作用。 我發射了一張位圖,它通過侵入者..(它的Area屬性正確改變,我用調試器檢查,所以入侵者區域改變:它們都移動。)。 然後,我檢查了一個較小的矩形鏡頭,如果矩形鏡頭在侵略者區域,它的工作。兩者都被刪除。
AliensHit = from invader in invaders
where invader.Area.Contains(playerShot.Location)
select invader;
爲什麼當我把一個區域檢查方法不起作用時,我用調試器檢查了3個小時,發現沒有錯。 :(
套管錯了。等一下。 – 2011-04-16 19:36:12
+1給Hans。等完了? – Independent 2011-04-16 19:45:48