먼저해야 할 일은 deltaX와 deltaY를 ballAngle과 deltaSpeed로 변경하는 것입니다. 그렇게하면 직각 좌표계에서 극좌표로 이동할 수 있습니다. 공의 움직임의 특성 (직선으로 가면서 각 충돌시 선의 각도를 변경 함) 때문에 작업이 더 쉬워집니다. 이제부터 ballAngle을 변경하여 볼의 방향을 업데이트하면됩니다.
그러나 극좌표에서 직각 좌표로 다시 이동하기 위해 볼을 그리는 함수를 업데이트해야 화면에 표시 할 수 있습니다. 와
newPosition = oldPosition + movementVector
: 고등학교 삼각 함수의 약간은 당신이 당신의 각도와 속도에 따라 화면 위치 델타를 계산하게됩니다 이러한 방정식은 상대에 따라 일부 수정해야 할 수도 있습니다 물론
movementVector.x = deltaSpeed*cos(ballAngle)
movementVector.y = deltaSpeed*sin(ballAngle)
당신이 공의 각도를 측정하는 것.
이제 패들과 충돌 할 때마다 볼의 각도를 수정하려면 패들의 어느 부분이 닿는 지에 따라 볼의 각도를 증가 또는 감소시켜야하고 그리기 기능의 수학이 처리되어야합니다 x와 y 위치를 현실적으로 업데이트합니다.
이 정보가 도움이되기를 바랍니다.
SSCCE (짧음, 자체 포함, 올바른 예)를 제공하십시오 –
종이에 그립니다. 볼이 90도에 도달하면 어떻게됩니까? 45시에 뭐야? -30시에 뭐야? 그런 다음이 각도를 변환하는 함수를 작성하십시오. – Konerak
각도를 정의하는 방법은 무엇입니까? 외륜에서 또는 외륜에서 정상으로? –