XNA에서 2D 게임을 개발 중이며 현재 물리 수업을 진행하고 있습니다. 내 현재 작업은 다른 개체와 충돌 할 때 개체를 중지하는 것입니다. 내가 내 게임 호출 이제까지 두 물체가 충돌이 함수를 만들었습니다 :충돌시 이동 차단
public void BlockMovement(gameObject target) {
//you can call width by just typing width. same for height
owner.position.X += (owner.position.X - target.position.X);
owner.position.Y += (owner.position.Y - target.position.Y);
}
문제는 대신에 정지 점이다. 움직이는 물체는 너비만큼 밀어 넣습니다. 누군가 제발 보여줄 수/내가 어떻게 sooo에 대한 많은 프로젝트에서 오랫동안 붙어있어 이렇게 할 말해.
감사
다른 곳에서 충돌 검사를 수행하고 있습니까? 멈추고 싶다면 속도를 제로로하지 않는 이유는 무엇입니까? 게임 오브젝트의 세부 사항을 보지 않거나 적어도 위치를 업데이트하는 방법을 보지 않고 일들을 멈추게하는 법을 말하는 것은 어렵습니다. – itsme86
그래, 왜 BlockMovement()에서 개체의 X 및 Y 위치를 이동하려고하는지 잘 모르겠다. 바운스 등을 시도하지 않는 한, 완전히 움직이지 않기를 원할 것입니다. 더 많은 코드가 있으므로 변경해야 할 사항에 대해 더 잘 알 수 있습니까? 덕분에 – cush