본문 바로가기
유니티5 독학 & 게임 제작

유니티5 독학하기 그 16번째 걸음-드디어 끝낸 챕터7

by 인터넷떠돌이 2017. 6. 9.
반응형

안녕하세요?


지난번 유니티5 독학하기 그 15번째 걸음에서는 챕터7을 완성하기 바로 직전에 [설전! 유니티5로 소셜 네트워크 게임 만들기]라는 책에 나와 있던 오타로 인해서 멈추어야 했습니다. 하지만 해답을 얻어서 이번에야 말로 제대로 챕터 7을 끝내도록 하겠습니다.



지난번에 에러난 구문이 아닌, 이번에야 말로 PlayerData.Instance.datas.Values라는 구문으로 바꾸어서 에러를 없애는 데 성공하였습니다.


이 foreach 라는 구문은 듣자니, PlayerData라는 클래스에서 있는 데이터를 빼오는 역할을 한다고 합니다. 그리고 나서 이를 AddItem이라는 함수를 이용해서, 가지온 온 데이터를 넘기는 역할을 한다고 합니다.


예전에 PlayerData.cs라는 스크립트를 제작했던 적이 있었는데, 거기서 지정한 PlayerData라는 클래스에서 다음과 같이 코딩을 미리 해야 한다고 합니다.


public static PlayerData Instance

{

 get {return instance_;}

}


위 구문은 바로 PlayerData.cs에서 PlayerData라는 클래스를 다른 스크립트에서 건드리는 것을 허용해 준다고 합니다.



제대로 이제는 스크립트가 완성이 되었으니까, 한번 플레이 버튼을 눌러서 실행시켜 보도록 하겠습니다.



그런데 이번에는 예상하지 못한 에러가 발생하였습니다. 이 에러는 처음에는 어디가 문제인지 몰라서 헤메었습니다만, 구글링을 한 결과 PlayerData.cs라는 스크립트가 다른 게임 오브젝트에 추가되지 않아서 발생한 문제라고 합니다. 그래서 지난 챕터를 살펴보니, 실제로 PlayerData라는 게임 오브젝트를 생성해서 PlayerData.cs를 추가하는 과정을 모르고 건너뛰어서 생긴 문제였습니다.



먼저 PlayerData라는 게임 오브젝트를 생성하도록 합니다. 생성방법은 Hierarchy 윈도우의 Create라는 메뉴를 눌러서 생성하는 것이 가능합니다.



다음으로는 PlayerData.cs를 PlayerData라는 게임 오브젝트에 추가하도록 합니다. 이제 이렇게 하고 나서 다시 플레이 버튼을 눌러서 실행시켜 보도록 합니다.



이번에야 말로 에러 메세지가 뜨지 않는 것을 확인할 수 있었습니다. 이것으로 겨우겨우 챕터7의 실습을 끝내는 데 성공했다는 생각이 듭니다. 이제 남은 챕터8부터 다음 포스팅에서는 실습에 들어가 보도록 해 보겠습니다.

반응형