У меня странная проблема с BoundingBox и тем, что в make. Для цикла не работает корректно и вызывает проблемы, которые не изменяют переменную.Что-то странное с BoundingBox в XNA
for (int i = 0; i < thing.Length; i++)
{
for (int j = 0; j < thing.Length; j++)
{
if (thing[i].bb.Intersects(thing[j].bb) && i != j)
{
thing[i].spriteSpeed *= -1;
thing[j].spriteSpeed *= -1;
soundEffect.Play(0.2f, -1f, 0f);
}
}
}
Но если я изменю переменную j на статическое число, как и на нуль, код будет работать нормально.
for (int i = 0; i < thing.Length; i++)
{
for (int j = 0; j < thing.Length; j++)
{
if (thing[i].bb.Intersects(thing[0].bb) && i != 0)
{
thing[i].spriteSpeed *= -1;
thing[0].spriteSpeed *= -1;
soundEffect.Play(0.2f, -1f, 0f);
}
}
}
P.S. Thing - это структура, которая выглядит так:
struct Thing
{
public Texture2D myTexture;
public Vector2 spritePosition;
public Vector2 spriteSpeed;
public BoundingBox bb;
public Vector3 start, end;
}
Tnx Corey. Он отлично работает для меня. – Rincew1nd