【发布时间】:2014-04-14 12:55:27
【问题描述】:
我正在创建一个蚂蚁模拟程序,蚂蚁在其中四处走动并收集食物并将其带到巢穴。当从食物中收集到一定数量的蚂蚁时,我希望食物来源消失。我有一个单独的 antObject、foodObject 和 nestObject 类。
我的固定食品类中有一个“int foodleft = 25”变量。当用户单击时,食物对象被放置到屏幕上,并立即添加到列表对象“foodList”中。 draw 方法绘制列表中的所有对象。我无法弄清楚如何使特定的食物对象在其“foodLeft”变量达到 0 时消失!
这是我在固定食品类中的绘制方法 -
public void Draw(SpriteBatch spriteBatch, List<stationaryFood> foodlist)
{
foreach (stationaryFood food in foodlist)
{
spriteBatch.Draw(foodImage, foodBoundingRectangle, foodColor); //draw each food object in foodList
}
}
这是我在更新方法中的主“game1”类中尝试解决的问题
if (foodList.Count > 0)
{
foreach (stationaryFood f in foodList)
{
if (f.FoodLeft == 0)
{
foodList.Remove(f);
}
}
}
但是这不起作用!我收到“未处理的无效操作错误”。
在我的主要 game1 类的 draw 方法中,我有这个
foreach (stationaryFood f in foodList)
{
f.Draw(spriteBatch, foodList);
}
谁能看出我哪里出错了?
【问题讨论】:
-
我已经编辑了你的标题。请参阅Should questions include “tags” in their titles?,其中的共识是“不,他们不应该”。