我正在构建一个太空侵略者游戏,并且使用此linq方法查看侵略者是否被玩家击中:
foreach (var playerShot in playerShots)
{
if (isWeapon)
{
AliensHit = from invader2 in invaders
where invader2.Area.Contains(playerShot.Area)
select invader2;
}
}
后来我有一个算法可以消除枪击和侵略者,但这没关系
包含方法不起作用.
我触发了一个位图镜头,它通过了入侵者..(其Area属性正确更改,我通过调试器进行了检查,因此入侵者Area发生了变化:它们都移动了.).
然后我检查了一个较小的矩形镜头,如果该矩形镜头在入侵者区域中并且可以正常工作.两者都被删除.
AliensHit = from invader in invaders
where invader.Area.Contains(playerShot.Location)
select invader;
为什么当我放一个区域检查该方法不起作用时,我用调试器检查了3个小时却没有发现任何错误.