2012-12-16 6 views
3

website의 코드를 사용했습니다.OPENGL 내 이미지의 좌표를 가져 오는 Android

하지만 내가 직면하고있는 문제는 내 물건의 좌표를 얻는 것입니다.

설명해 드리겠습니다. 코드에 따르면. 그래픽 이미지를 PNG 형식으로 추가하고 여기에있는 클래스를 참조하면됩니다. 달성하고자하는 것은 단순한 충돌 탐지 메커니즘입니다. 미로를 추가했습니다 (PNG로). 그리고 미로 내의 빈 경로를 통과 할 객체 (PNG로)를 가져야합니다. 이 작업을 수행하려면 좌표 내에서 객체가 움직이는 빈 공간을 알아야합니다.

개체를 가져갈 수있는 공백을 (x, y) 좌표로 가져 오는 방법을 알려줄 수 있습니까?

답변

2

하나 개의 항목 및 미로 하나의 종료, 또는 여러 항목 또는 종료의 대상 점을 포함 미로 주위에 빈 공간있을 경우, A* search algorithm은 작업 수행합니다

참고 . 오브젝트 크기를 처리하기 위해 경로 세그먼트의 조건을 수정해야합니다. 간단한 접근 방식은 경로 폭이 1 이미지 픽셀이라고 가정합니다.

algo를 여러 대상 지점과 일치시키는 방식으로 수정하면 출구가없는 열린 영역 (많은 출구에서 한 입구)이 필요하지 않고 더욱 부드럽게 작동합니다. 여러 개의 시작점 또는 항목 각각에 대해 N 개의 실행 및 경로 비교가 가장 짧은 항목 (많은 항목을 많은 항목으로)을 찾거나 결과가 하나만 존재하면 역방향으로 검색 (많은 항목이 하나의 이탈로 끝남) 할 수 있습니다. 많은 출구에 하나의 항목. 여러 대상 지점의 경로가 필요한 경우 모든 경로가 발견되거나 알고리즘이 '정지'되고 중지 될 때까지 검색을 계속하십시오.

UPDATE :

제일과 가장 유연한 예를 들어 등 다양한 모양의 종류, 구처럼, 임의의 볼록 선체를 지원하는 물리 라이브러리를 사용하고있는 방법으로, 당신은 충돌을 수행 할 '총알 물리학'라이브러리를 사용할 수 있습니다 탐지 만, 물리 시뮬레이션없이 (하지만 왜?). 복잡한 형상의 경우보다 빠른 경향이있는 OpenGL 오 클루 젼 쿼리를 사용하여 2D에서 단편 기반 충돌 검색을 수행 할 수 있습니다.

이미지를 통합하려면, 당신은 다른 모양에 정의되어 좌표 공간에서 여러 벽 객체의 정렬/스케일을 변환해야 할 것 한마디로

:. 충돌 감지를 임의의 정점의 데이터를 사용하여 도형은 꽤 비싸고, 개발하고, 실행 중에 있습니다. 이것은 총알 라이브러리의 충돌 셰이프가 도움이 될 것입니다.이 셰이프는 그리는 개체의 단순화 된 모양을 나타내는 데 사용되므로 유용합니다.

+0

현재이 AI 알고리즘을 찾고 있지 않습니다. 내 미로의 픽셀 데이터를 찾아야합니다. 간단한 if-else 조건은 충돌을 감지하는 데 도움이됩니다. 하지만 모든 것에 대해 픽셀 정보가 필요합니다. 어쨌든 고마워. – Debopam

+0

좌표 공간을 변환하고 싶습니까? 세계 공간을 당신의 미로의 이미지 공간에 매핑하는 것과 같은가? – Sam

+0

글쎄, 내가 원하는 것을 분명히하자. OpenGL es에서 도형을 추가하는 동안 우리는 일반적으로 {1.0f, 0.0f ... 및 no}와 같은 float 배열로 정점을 취합니다. 내가 틀렸다면 정정하십시오. 플로트 배열 방식으로 정의/그려지는 두 가지 모양의 충돌을 어떻게 감지 할 수 있습니까? – Debopam

관련 문제