경계 상자를 사용하여 스프라이트를 단색으로 표시하는 데 현재 문제가 있습니다. 충돌은 아래의 코드에서 잘 작동합니다.2D 경계 상자 충돌, 벽
위치는지도의 주요 문자 위치입니다. character2는 주인공이 충돌 할 18x28 스프라이트의 이름입니다.
주인공이 character2 스프라이트와 충돌 할 때 그에 따라 위치를 조정하려고 시도했지만 (EX : Position.X - = 1;) 교차하지 않을 때까지 내 주 스프라이트가 뒤로 밀려납니다.
나는 아주 간단한 뭔가 느낌이 있지만, 내 인생, 난 그냥 그것을 알아낼 수 없습니다.
제 질문을 요약하면 : 충돌시 character2 스프라이트가 단색으로 나타나게하려면 어떻게해야합니까? 내 주요 스프라이트는,이 무한 루프에 진입하는 if 문을 내동댕이 (0으로 속도를 줄임으로써) 충돌시 정지하는 경우에도 또한
. float x1 = Position.X;
float y1 = Position.Y;
float x2 = x1 + character2.Width;
float y2 = y1 + character2.Height;
BoundingBox b1 = new BoundingBox(new Vector3(x1, y1, 0),
new Vector3(x2, y2, 0));
BoundingBox b2 = new BoundingBox(new Vector3(Position2.X, Position2.Y, 0),
new Vector3(x2, y2, 0));
if (Collision(b1, b2))
{
// ????
}
방금 화면이 정지됩니다. = X –