도파민조아 MYPI

도파민조아
접속 : 4421   Lv. 51

Category

Profile

Counter

  • 오늘 : 54 명
  • 전체 : 143338 명
  • Mypi Ver. 0.3.1 β
[Unity Engine] 유니티로 타워 디팬스 게임 만들기 - part7 맵로딩 (2) 2014/08/27 PM 09:04
StageReader에서 가진 정보를 바탕으로
맵을 실체화 시킬 것이다... 하지만 그전에
스크립트에 추가적으로 필요한 자료를 추가할 것이다.

맵을 실체화시키면서 한가지 문제가 생겼는데
적을 이동시키는 waypoint의 구현이였다.
단방향 길에서는 아무런 문제 없이 구현할 수 있었지만
두갈래 길을 구현하려고 하니 문자열 하나로
두갈래길을 표현하는게 아주 힘든일이라는 것을
깨달았다.하면 할 수 있지만... 그렇게 구현한 스크립트는
작성하는게 전혀 쉽지 않았다. 즉 제약조건이 많다.

결론은 웨이포인트의 위치를 표시는 하되 연결하는 정보를 추가하는
것이다. 각각의 문자열은 타일에 접근할 수 있는 고유키가 되고
각각의 웨이포인트를 연결하는 자료를 추가한다.
최대한 간편하게 하게 만들기 위해서 다음과 같이 만들었다.

&LINK S 1 2 3 4 5 6 E
&LINK 2 5

S 부터 E까지 연결하고
2번 타일과 5번 타일을 추가로 연결한다는 뜻이다.
이렇게 되면 2번 타일은 갈림길이 될 것이다.

이 정보를 바탕으로 실체화(Instantiate)해보자 설명은 코드로 대체한다.



여기서 각 Tile은 Tile스크립트를 가지고 있는데 wayPoint스크립트를 대체한다.
맵을 다 만들고 난 뒤에 링크정보를 가지고 웨이포인트를 설정해주자.



링크가 되있는지는 눈으로 확인할 수 없기 때문에
Gizmo를 사용해서 링크가 되어있는지를 보자
Gizmo란, Game화면에서 볼수 없고 Scene에서만 출력할 수 있는
시각적 디버그도구이다.



구현된 화면은 이렇다. 옆에 텍스트는 지도정보이다.



이렇게 설정을 해 놓고 만약 스테이지2를 만든다고 하면
1분도 안되는 시간만에 다음과 같은 스테이지2를 만들 수 있다.
물론 아직 이벤트 스크립트는 제외하고 만들었다.



마지막으로 스테이지2의 작동화면이다.



아직 이벤트스크립트와 AI가 갈림길을 대처하는 방법은 구현하지 않았다.
그건 다음번에 :)
---------------

ps. github에 계속 commit을 하긴 했었는데 보시는 분이 있나요?
혹여나 별로 없으면 private로 바꿀 생각인데...-_-a

신고

 

☆더아투    친구신청

언제나 잘보고 있습니다!!! 컴공을 배우는 학생이라 좋아하기도 하고 취미삼아 유니티 엔진으로 게임을 만들어 보려고 보고있어요... 기텁으로 보지는 않고 마이피에 와서 눈팅만 하다 가네요... 매번 댓글을 달았어야하는데... 제가 아직 실력이 부족한지라 언제나 보고 가서 죄송합니다...

잘자염    친구신청

보는 것 만으로도 힘이 됩니다. :) 댓글 없으면 혼자 삽질하는 것 같아서
재미없어지거든요 OTL
X