HTML5 캔버스에서 두 Sprite 간의 충돌을 확인하고 싶습니다. 토론을 위해 두 스프라이트가 모두 IMG 객체이고 충돌은 알파 채널이 0이 아니라는 것을 의미한다고 가정 해 봅시다. 이제이 두 스프라이트 둘 다 객체의 중심을 중심으로 회전 할 수 있지만이 경우 다른 변형은 없습니다. 더 쉽게. +HTML5 캔버스에서 픽셀 완전 충돌 감지
- 모두
- 그림 밖으로 모두의 오프셋 (offset)과 같은 코드가 (테스트해야 지역의 대략적인 추정을위한 변환 행렬을 계산 :
이제 확실한 해결책 나는이 될 함께했다 회전에 대해 계산 된 추가 공간) 교차하는 사각형의 모든 픽셀에 대해
- 좌표를 변환하고 알파 채널에 대해 계산 된 위치 (가장 가까운 반올림으로 반올림 됨)에서 이미지를 테스트합니다. 첫 번째 히트시 중단됩니다.
내가보기에 문제는 다음과 같습니다. a) JavaScript에 매트릭스 클래스가 없습니다. JavaScript에서이 작업을 수행해야한다는 것을 의미합니다.이 프레임 워크는 매우 느릴 수 있으며, 모든 프레임에서 충돌을 테스트해야합니다. 비싼. 게다가 드로잉 (또는 캔버스가 나를 위해 무엇을하는지, 매트릭스를 설정)에 이미해야 할 일을 복제해야합니다.
내가 여기에 무엇을 놓치고 있는지 그리고 충돌 감지를위한 더 쉬운 해결책이 있는지 궁금합니다.
내가 답변을 찾을 수없는, 나도이 질문을하고 :( – super