나는 현재 Breakout과 같은 게임을 작성 중이고 나는 어떻게 공을 표면에서 바운스 할 수 있는지 궁금해하고 있었다. 너무 잘 작동하지 않았다표면에서 공을 튀어 오름
[vx, vy] -> [-vy, vx]
어떤 (당연히) :
나는이었다 90도 속도를 회전의 순진한 방법으로 갔다. 볼의 위치와 속도뿐만 아니라 공이 튕기는 지점도 알면 어떻게 그 점을 벗어날 수 있습니까?
제약 : 나는 정수 수학을 사용하고
- (어디 없음 FP )
- 내 모든 표면은 간단 평면 (수직, 수평, 또는 블록)
- 있습니다 나는 단지 90도 각도로 튀어 나오고 싶다
- 모든 충돌은 완전히 탄력적이다 (이것은 브레이크 아웃이다 - 마찰 등은 필요 없다)
언어 별 코드가 필요하지 않습니다. 누구든지 제대로 작동하는 방법에 대한 작은, 수학 공식을 제공 할 수 있다면 나를 위해 잘 작동합니다.
감사합니다.
180도 속도 회전을 [VX , vy] -> [-vx, -vy]'. 이제 90도 회전합니다. – kennytm
실수로 180 도가 아닌 90도를 써야했습니다. –
적절한 브레이크 아웃을 위해서는 박쥐에서 공으로 이동해야합니다. –