我建立一个太空入侵者游戏,我用这个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