개체가 다른 개체와 충돌 할 때 개체를 중지하려고합니다. 내 말은 사용자가 다른 곳에 밀어 넣으려고하면 내 개체가 미끄러지 길 바라지 만 잠시 동안 넘어 가지 않기를 바랍니다. Xna와 직사각형 충돌 기능을 사용하고 있습니다. 다른 개체에서 슬라이딩 할 때의 충돌
public void Update(GameTime gametime)
{
Currentposition = Station.Position;
Station.Update();
coli = IsHit(ListObs[16].ShapeO, Station.Shape);
}
public void Draw(SpriteBatch spritebatch)
{
if (coli == true)
{
Station.Position = Currentposition;
Station.Draw(spritebatch);
}
else
{
Station.Draw(spritebatch);
}
}
그 순간 작동하지, 난 시어 또는 bOx2DX 사용을 시도 할 수 있습니다하지만 난 (내가 t 중력 필요 "돈) 내게는 너무 깊이 생각합니다.
public bool IsHit(Rectangle r1, Rectangle r2)
{
if (((r1.X + r1.Width >= r2.X) && (r1.X <= r2.X + r2.Width)) && ((r1.Y + r1.Height >= r2.Y) && (r1.Y <= r2.Y + r2.Height)))
return true;
else
return false;
}
thats ishit Metod가하는 것, 나는 그것을 더한다. – Gabson
하지만 지금 정확히 무엇이 작동하지 않습니까? 충돌 감지 또는 스테이션 위치? – Schminitz
@ Gabson 독자적으로 구현하는 대신 기본 방법을 사용하는 것이 좋습니다. – pinckerman