2D 게임을 만들기 시작하고 업데이트 함수 또는 렌더링 함수에서 회전을 수행해야하는지에 대해 혼란스러워합니다.업데이트 함수 또는 렌더링 함수에서 2D 꼭지점 회전 수행
문제는 이것입니다.
3 개의 꼭지점으로 구성된 삼각형을 가지고 있습니다. 삼각형의 회전 값은도 단위입니다.
업데이트 기능에서 정점을 회전하면 각 업데이트가 회전을 반복해서 적용하기 때문에 삼각형이 완전히 회전합니다.
따라서 업데이트 함수에서 정점을 회전하지 않고 대신 원래 정점을 기준으로 렌더 함수에서 회전을 수행하기로 결정했습니다.
이 작동하지만 지금은 다른 문제가 있습니다. 꼭지점은 실제로 보이는 곳이 아닙니다. 따라서 충돌 감지 등을 수행하기 위해 정점을 사용할 수 없습니다.
유일한 해결책은 업데이트 기능에서 회전을 수행 할 수 있지만 두 개의 정점이 있습니다. 하나는 원래 정점, 하나는 회전 된 정점입니다. 그런 다음 충돌 감지 계산에서 회전 된 정점을 사용하십시오. 이는 해킹과 비효율적 인 냄새를 풍깁니다.
나는 render 함수에 회전을 적용하는 것을 보여주는 코드 픈을 작성했습니다. https://codepen.io/anon/pen/pPRjLq
Use arrow keys to rotate
그래서, 렌더링 또는 업데이트에서 회전해야합니까? 렌더링하는 경우 버텍스를 최신 상태로 유지하려면 어떻게해야합니까? 업데이트하는 경우 무한 회전을 방지하려면 어떻게해야합니까?
경험 많은 사람의 도움을 주시면 감사하겠습니다. - 감사합니다!