【发布时间】:2014-03-19 00:12:45
【问题描述】:
我正在使用 xna 框架 (monogame) 创建一个小型教育游戏。
我在屏幕上有许多精灵使用 velocite 单独移动。我想添加碰撞处理,所以当 2 个或更多精灵相交时,它们会改变方向。但目前我还没有解决它!
这是每个精灵的更新方法:
public void Update(GameTime gameTime)
{
if (CollisionDetected())
{
Xvelocity = -Xvelocity;
Yvelocity = -Yvelocity;
}
position.X += Xvelocity;
position.Y += Yvelocity;
}
private bool CollisionDetected()
{
for (int i = 0; i < ListCount.Count(); i++)
{
if ((this.rectangle().Intersects(ListCount[i].rectangle()))
{
return true;
}
}
return false;
}
任何关于如何做到这一点的提示或想法都会很棒
【问题讨论】:
-
ListCount是所有精灵的列表吗? -
是的,我从 spriteManager 类中恢复它是静态的。
标签: c# xna collision-detection monogame