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

유니티5 독학하기 그 67번째 걸음-배경화면의 적용완료

by 인터넷떠돌이 2018. 8. 16.
반응형

안녕하세요?


어제 포스팅에서 배경화면을 어떻게 적용해야 할지 몰라서 헤메었는데, 드디어 배경화면의 적용까지는 어떻게 성공을 하기는 했습니다. 하지만, 문제는 다시하기를 눌렀을 경우 초기화면으로 제대로 돌아가지 않는 문제점이 나왔는데, 이 문제점을 어떻게 해결하지 못하고 이번 포스팅을 올리게 되어 죄송합니다.



이번에는 BakcGround라는 게임 오브젝트를 MainCamera의 자식 오브젝트로서 생성을 하도록 합니다.



그 다음으로는 BackGround의 인스펙터 뷰에서 SpriteRenderer 컴포넌트를 추가한 다음, 이미 점찍어 둔 배경화면을 Sprite항목으로 가지고 오도록 합니다.



어떻게 사이즈는 맞추어야 했지만, 그래도 어느정도 백경화면 이미지가 따라가는 것을 볼 수는 있습니다. 하지만, 여전히 게임뷰에서는 표시가 되지 않는 문제가 발생한다는 것을 알 수 있습니다.



그래서 BackGround의 Z축 값을 변경해 보기로 했습니다.



일단 z축의 값을 100이라는 극단적으로 큰 값으로 두었습니다.




이제서야 제대로 게임 뷰에서 배경화면인 우주 이미지가 나오는 것을 확인할 수 있었습니다.



그리고 제대로 배경이 적용되는 것을 이번에는 확인할 수 있었습니다. 이렇게 해서 배경의 적용은 성공했고, 이제 남은 것은 게임오버 뷰에서 다시 하기를 눌렀을 경우 제대로 다시 하기가 안되는데, 이것을 어떻게 해결하러 갈 차례입니다.



그리고 나서 이번에는 LevelPieceBasic과 이어서 위 스크린샷처럼 게임오브젝트4개를 모두 선택한 다음



z축의 값을 3이라고 조정을 했습니다. 이거는 별로 중요한 것은 아니기는 한데,일단 하나보니 이렇게 변경을 했기 때문에 기록으로라도 남겨 두도록 했습니다.



이번에는 GameManager.cs라는 스크립트를 열어서 어디를 수정해야 하는지 알아 보도록 합니다.




일단 GameManager.cs에 이전에는 없던 ReStartGame()이라는 메소드를 위 스크린샷처럼 임시로 만들어 보도록 합니다.



그 다음에는 UI의 자식 오브젝트로 있는 PlayButton을 유니티5에서 선택하도록 합니다.



그리고 위에서 추가를 해 놓은 ReStartGame()이라는 메소드를 다시 선택하도록 합니다.



하지만 이러고도 아직 제대로 시작이 되지 않는 문제점이 나오는데, 그 이유로는 먼저 LevelGenerator라는 스크립트에서 해야 할 일이 있으리라 생각이 들었습니다.



일단 위 스크린샷처럼 ReStageSetting()이라는 메소드를 만들어서 이전에 만들어진 발판은 모두 제거하도록 하고, 다시 블록을 만들어 놓고자 했습니다.




이제 다시금 GameManager.cs라는 스크립트를 다시 가도록 합니다.



이전에는 ReStartGame()이라는 메소드에 없던 코드를 한줄 추가하도록 해서, LevelGenerator에 있는 ReStageSetting()이라는 메소드가 실행이 되도록 합니다.



아직도 마음대로 작동이 되지 않아서 하는 수 없이 이번에는 위 스크린샷의 붉은색 박스안에 있는 것처럼, For문에서 이전에 만들어 놓은 모든 발판을 제거하라는 명령을 입력하도록 합니다.



이렇게 해서 일단 이전에 만들어 놓은 발판을 제거하는 데는 성공했습니다. 하지만 어찌된 것인지 배경화면은 다시 StartPoint로 돌아가지 않고, 새로이 발판이 생성 되지도 않는 것을 볼 수 있습니다.



일단 플레이어 캐릭터는 계속해서 바닥으로 떨어지고 있다는 것을 볼 수 있는데, 아무래도 배치가 되고 나서, 제대로 밟을 발판이 없어서 계속해서 떨어지는 것이 아닌가 하는 생각이 듭니다. 그래서 우선적으로 이 발판이 생성되고 나서, 플레이어 캐릭터가 배치가 되도록 어떻게 코드를 수정해야 할 필요성이 있어 보입니다.

반응형