【发布时间】:2014-03-02 23:28:45
【问题描述】:
所以我在 C# (XNA) 中有以下代码
foreach (Target i in Target.List)
{
//just distance calculating with pythagoras
if (Math.Sqrt(Math.Pow((Tpos.X - i.pos.X), 2) + Math.Pow((Tpos.Y - i.pos.Y), 2)) <= 100)
{
intersect = true;
}
else
{
intersect = false;
}
}
每个“目标”都是这样创建的:
Tower.List.Add(new Tower(Tpos));
问题在于它似乎只适用于最后创建的目标。但是它们中的每一个都可以通过类似的 foreach 循环正确绘制。
有什么不同?
【问题讨论】:
-
您是否正在将 intersect 复制到某个集合,因为如果没有,那么它只会被每次覆盖
-
请解释您使用此循环的目的是什么。找到第一个相交的目标?搜索所有目标是否相交?循环的工作原理似乎有点混乱