2012-02-24 3 views
0

기본적으로, 저는 스스로를위한 작은 프로젝트로 iPhone RPG를 만들고 있습니다. 저는 Cocos2d를 사용하고 있으므로 2D 타일 맵을 사용하고 있습니다. 무작위로지도의 레벨을 생성하려고 계획했지만 무작위로 생성하고 충돌 가능한 타일을 계속 유지하는 것이 더 어려울 수도 있음을 깨달았습니다.Objectice C에서 tmx (map) 파일을 무작위로 생성 할 수 있습니까?

누구나 할 수 있습니까?

미리 도움을 주셔서 감사 드리며 약간의 애매한 질문에 사과드립니다.

+0

뭘 원하는지 확실하지 않습니다. 그냥'UIMapView'에 할당 할 임의의 좌표를 생성 하시겠습니까? – Mundi

답변

0

무작위지도 생성이 가능하며 많은 게임에서 사용됩니다. 디아블로는 내 마음에 드는 첫 번째 게임 중 하나입니다. 그러나 생성 알고리즘에 적절한 경계를 설정하는 것은 잊을 수없는 위치로지도를 만들 수 있기 때문에 잊지 마십시오.

1

당신이 묻는 tmx 파일 형식에 익숙하지 않지만 대개 맵을 생성하는 방법은 시각적 표현이 아닌 맵의 물리학으로 시작하는 것입니다. 여기가

(1) 재료를 정의 할 수있는 두 가지 방법 (물, 모래, 바위)

(2) (백분율로)지도에서 사용할 얼마나 많은 각각의 정의

입니다 공간이

(5) 이제 시각적 타일과 재료 사이의 관계를 정의 가득 찰 때까지 (3)지도에서 장소 물질 씨앗

(4) 모든 방향으로 재료를 확장하여 씨앗을 성장. 하나의 재료에서 다른 재료로 또는 100 %의 하나의 재료에서 전환하는 경우.

(6) 재료 맵과 재료와 아트 간의 관계를 사용하여 시각적 표현을 생성하십시오.

...

(3) 당신은 당신이 정의 적절한 양을 사용하여 정의 된 물질과지도를 채 웁니다.

(4) 클러스터링 알고리즘을 사용하여 타일을 교환하고 섬을 형성하십시오.

을 ... (당신의 clustarization 알고리즘의 단계의 수를 증가시키는 것은 적지 만 큰 섬을 만들 것입니다)

(0)지도가 한 영역에서 다른 영역으로 accesability처럼 따라 할 필요가 몇 가지 다른 규칙이있을 수 있습니다 . 처음에는 물리지도에 배치하고 다른 알고리즘은이를 깨뜨리지 않아야합니다.

행운을 빈다.

+0

유익한 답변을 주셔서 대단히 감사합니다. 나는 내가 코코스 2D를 사용하여 2D 게임을 만들고 있으며 따라서 무작위로 생성 된 2D 타일 맵을 원한다는 것을 내 질문에 모두 잊어 버렸다는 것을 인정하는 것을 부끄럽다. – cardycakes

+0

이 원칙을 2D의 tmx 파일에도 적용 할 수 있습니다. Cocos2D는 새로운 랜덤 맵을 생성하는 메소드를 가지고 있지 않습니다. 당신은 그들을 구축해야합니다. – phlebotinum

관련 문제