미션. 벽에 부딪혔을 때 탄성 적용하기

목표


벽에 부딪혔을 때, 멈추는 게 아니라 튕겨져 나오는 모습을 만들어 봅시다.




무엇을 해야 하나요?

  1. 벽에 부딪혔을 때 멈추는게 아니라 튕겨져나오도록 해 주세요.

힌트

  1. 좌표에서 +, - 의 의미는 방향입니다.
  2. 1 x -1 = -1 이고 -1 x -1 = 1 입니다. (-1을 곱해주는 건 방향을 바꿔주는게 되죠.)




벽에 탄성을 주어 튕겨져 나오게 하는 걸 만드는 방법은 아주 간단합니다.

지금까지 만든 코드 중 왼쪽 코드를 찾아 오른쪽 모양으로 고쳐주면 됩니다.



탄성력은 튕겨나오는 힘입니다. 공이 벽에 부딪히면 튕겨나오죠?

(물론 찰흙이나 끈끈이를 벽에 던지면 붙어버립니다. 탄성력이 없는거죠.)


여기서는 공이 벽에 부딪히면 부딪힐 때 속도 그대로 튕겨나오는 모습을 코딩한 것입니다.


두 가지를 알면 이해가 쉬울거에요.

첫 번째는 x축, y축의 +, -는 방향의 의미가 있다는 것. (+는 x, y축의 화살표 방향, -는 화살표 반대방향 - '벡터'라는 걸 배울 겁니다.)

두 번째는 음수의 곱하기 입니다. ( -1 x 10 = -10 이고, -1 x -10 = 10 입니다. 부호만 바뀌었죠? 그래서 같은 속도로 반대 방향으로 날아가는 모습이 되는 거에요.)


그래서 앞에서 벽에 닿으면 0으로 멈추게 했던 걸, 위와 같이 방향을 바꿔주는 수식으로 고치면 벽에서 튕겨 나오는 것처럼 보이게 됩니다.








댓글

로그인 후 댓글을 남길 수 있습니다.