2013-12-15 6 views
2

맞춤지도를 만들고 싶습니다. 하나의 그림처럼 보이거나 보이지만 사용자가 클릭하는 부분에 따라 사용자를 다른 위치로 이동해야합니다 (즉, 다른 활동 시작). 나는 여러 게임에서 그걸 봤지만 어떻게해야할지 모르겠다.Android 게임 개발 - 다양한 활동을 유도하는 맞춤지도

그림의 일부분은 비 기하학적 테두리를 가져야합니다 (분명히 많은 정사각형 이미지로 쉽게 처리 할 수 ​​있습니다). 슬프게도, 나는 어떤 용어가 내가하고 싶은 일이 무엇인지를 알지조차 모르기 때문에 유용한 튜토리얼이나 토론 주제를 찾을 수 없었다.

예 : 는 사진 설명 : 사용자가 보라색 슬라이드를 접촉 http://i236.photobucket.com/albums/ff40/iathen/mapEx.png

  • 경우, (들) 그는 사용자가 블루 슬라이드, (들)에 닿으면
  • 을 activity_1하기 위해 납을 첨가해야한다 그가해야 사용자가 녹색 슬라이드, (들)에 닿으면 그는 교류 2 주 (가장 많이 사용) 방법이 내 경험에

답변

0

을 activity_3하기 위해 납을 첨가해야한다

  • 을 activity_2하기 위해 납이 함유 된 이것을 hieve해라.

    첫 번째 (내가 좋아하는) : 당신은 캔버스에 여러 층을 작성해야 PNG

    에서 데이터를 가져옵니다. 이 레이어는 "영역"(파란색, 녹색, 보라색)을 구성합니다. 이 영역의 데이터를 얻으려면 원하는 투명도로 PNG에서 캔버스를 작성하십시오. 사용자의 탭이있을 수있는 곳에 값을 저장해야합니다 (투명하지 않은 영역). 지도 크기, 화면 해상도,지도 크기 등에 따라이 값을 확대/축소 할 수 있습니다.

    캔버스에 레이어를 작성했으면 사용자 탭과 당신이 가진 저장된 영역. 여기에서 사용자 탭이 코드에서 처리되는 순서를 고려해야합니다. 예를 들어, 이미지에서 보라색 레이어가 맨 위에 있으므로 먼저 처리해야하고 파란색은 초로, 녹색은 마지막으로 처리해야합니다. 이렇게하면 더 큰 지역 안에 "섬"을 가질 수 있습니다.

    두 번째 방법 : 이 경계를 생성은 programmaticaly

    나는이 솔루션은 자명하다고 생각합니다. 이 변형에 직면 한 유일한 점은 표면 경계가 복잡 해지면 적절한 방정식을 생성하는 것이 정말 복잡하다는 것입니다.

    EDIT : 데이터를로드 또는 바이트 (즉 RGB 값)로 부호화 데이터 PNG 하나를 사용하는 복수의 PNG 형식을 채용 할 수있는 첫 번째 방법을 사용. 구현할 솔루션을 결정하는 것은 개발자의 몫입니다.

    희망이 있습니다.

  • 0

    터치 스크린 자체가 그다지 정확하지 않기 때문에 버튼에 대한 충돌 감지 중 하나 일 필요는 없습니다. 복잡한 충돌 감지 알고리즘을 사용하여 이상한 모양의 터치를 감지하는 것은 시간 낭비 일 것입니다.

    게임을 만들고 있기 때문에 최소한 사용자 정의 터치 이벤트는 물론 캔버스도 처리하는 방법을 알고 있다고 가정합니다.당신이 원하는 것을 할 수있는 많은 방법이 있지만, 링크 한 특정 예제 이미지에서는 특별한 경우입니다.

    세 개의 얼룩 둘레에 거대한 경계 원을 만든 다음 사용자가 원의 경계 내에서 터치했는지 확인합니다 (예 : 터치에서 원 중심까지의 거리가 작 으면 확인). 반경). 일단 그것이 있다고 판단되면, 동그라미의 어느 섹션이 3 개의 동일한 섹션으로 나뉘어져 있는지 확인할 수 있습니다. 수학이 필요하지만 그렇게 복잡해서는 안됩니다.

    완벽한 솔루션은 아니지만 충분해야합니다. 그러나 단추를 조금만 변경해야만 수평 적으로 늘어나지 않을 수 있습니다. 그렇지 않으면 바운더리 원이 이상적이지 않습니다.

    개인적으로 내 게임에서 나는 버튼과 같이 게임의 시각적 요소를 나타내는 "노드"를 항상 가지고 있습니다. 여러분이하는 것처럼 큰 이미지를 사용하는 대신, 각 버튼에 대해 개별 이미지를 생성 한 다음 터치 이벤트와의 충돌을 독립적으로 확인합니다. 그런 식으로 각각의 버튼을 자신의 개별 경계 원으로 검사 할 수도 있고, 꼭 필요한 경우 개별 버튼마다 맞춤 알고리즘을 가질 수도 있습니다.

    이들은 완벽한 해결책이 아닙니다. 픽셀 완벽한 솔루션을 원할 경우 일부 다각형 충돌 감지 알고리즘을 구현해야합니다.

    한 가지 고려해야 할 것은 화면 크기와 비율입니다. 사용해야하는 유일한 상수는 백분율입니다.