하나 개의 항목 및 미로 하나의 종료, 또는 여러 항목 또는 종료의 대상 점을 포함 미로 주위에 빈 공간있을 경우, A* search algorithm은 작업 수행합니다
참고 . 오브젝트 크기를 처리하기 위해 경로 세그먼트의 조건을 수정해야합니다. 간단한 접근 방식은 경로 폭이 1 이미지 픽셀이라고 가정합니다.
algo를 여러 대상 지점과 일치시키는 방식으로 수정하면 출구가없는 열린 영역 (많은 출구에서 한 입구)이 필요하지 않고 더욱 부드럽게 작동합니다. 여러 개의 시작점 또는 항목 각각에 대해 N 개의 실행 및 경로 비교가 가장 짧은 항목 (많은 항목을 많은 항목으로)을 찾거나 결과가 하나만 존재하면 역방향으로 검색 (많은 항목이 하나의 이탈로 끝남) 할 수 있습니다. 많은 출구에 하나의 항목. 여러 대상 지점의 경로가 필요한 경우 모든 경로가 발견되거나 알고리즘이 '정지'되고 중지 될 때까지 검색을 계속하십시오.
UPDATE :
제일과 가장 유연한 예를 들어 등 다양한 모양의 종류, 구처럼, 임의의 볼록 선체를 지원하는 물리 라이브러리를 사용하고있는 방법으로, 당신은 충돌을 수행 할 '총알 물리학'라이브러리를 사용할 수 있습니다 탐지 만, 물리 시뮬레이션없이 (하지만 왜?). 복잡한 형상의 경우보다 빠른 경향이있는 OpenGL 오 클루 젼 쿼리를 사용하여 2D에서 단편 기반 충돌 검색을 수행 할 수 있습니다.
이미지를 통합하려면, 당신은 다른 모양에 정의되어 좌표 공간에서 여러 벽 객체의 정렬/스케일을 변환해야 할 것 한마디로
:. 충돌 감지를 임의의 정점의 데이터를 사용하여 도형은 꽤 비싸고, 개발하고, 실행 중에 있습니다. 이것은 총알 라이브러리의 충돌 셰이프가 도움이 될 것입니다.이 셰이프는 그리는 개체의 단순화 된 모양을 나타내는 데 사용되므로 유용합니다.
출처
2012-12-16 17:09:43
Sam
현재이 AI 알고리즘을 찾고 있지 않습니다. 내 미로의 픽셀 데이터를 찾아야합니다. 간단한 if-else 조건은 충돌을 감지하는 데 도움이됩니다. 하지만 모든 것에 대해 픽셀 정보가 필요합니다. 어쨌든 고마워. – Debopam
좌표 공간을 변환하고 싶습니까? 세계 공간을 당신의 미로의 이미지 공간에 매핑하는 것과 같은가? – Sam
글쎄, 내가 원하는 것을 분명히하자. OpenGL es에서 도형을 추가하는 동안 우리는 일반적으로 {1.0f, 0.0f ... 및 no}와 같은 float 배열로 정점을 취합니다. 내가 틀렸다면 정정하십시오. 플로트 배열 방식으로 정의/그려지는 두 가지 모양의 충돌을 어떻게 감지 할 수 있습니까? – Debopam