안녕하세요?


이래저래 유니티5에서 버그가 나오는 것을 보기도 했지만, 아무튼 어떻게 책의 도움 없이 실습을 해서, 이번에는 게임오버 뷰에 대해서 수정을 하는 데는 성공했습니다. 하지만 배경화면에 대해서는 아직 어떻게 해야 할지 모르겠는데, 이에 대해서 조금은 더 찾아보고 나서 실습을 해봐야 겠다는 생각이 듭니다. 아무튼 이번 포스팅에서는 어떻게 해서 게임 오버 뷰를 조금 더 개선을 시켰고, 배경화면은 어떻게 정체인지 이야기를 하고자 합니다.



먼저 UI의 자식 오브젝트르로 있는 GameOverCanvas에 있는 PlayAgain버튼을 선택하도록 합니다.



여기서 REct Transform이라는 것이 있는 것을 볼 수 있는데, PosY를 좀더 내리도록 해 보겠습니다.



일단 40정도 내렸고



좀더 아래에 있는 Main Menu 버튼까지 40내리니까, 이제서야 어색하지 않고 제대로 뭐가 표시되는 것을 볼 수 있었습니다. 그런데 아직까지 게임오버 뷰에서 지금까지 했던 게임의 스코어랑 동전 갯수가 반영되지 않는 것을 볼 수 있었습니다.




그리고 새로운 C# 스크립트인 GameOverResult.cs라는 스크립트를 생성하도록 합니다.



전체적인 내용은 InGameView라는 스크립트에서 가져온 것과 같지만, 그래도 Text형 변수의 이름을 변경하였고, GameState가 gameOver일 경우에만 표시가 되도록 만들어 두었습니다.



그리고 다시 유니티5로 돌아와서는 GameOverCanvas라는 게임 오브젝트를 계층뷰에서 선택하도록 합니다.



그리고 나서 방금 생성한 GameOverResult를 컴포넌트로서 인스펙트 뷰에 추가하도록 합니다.




그리고 나서 FinalCoin과 FinalScore에는 각각 해당하는 게임오버 캔버스의 레이블을 드레그 앤 드롭해서 놓도록 합니다.



이렇게 해서 게임오버가 되었을 때, 이번에는 지금까지 달렸는 거리와 동전의 갯수가 나오는 것을 볼 수 있습니다.



다음으로 배경이미지를 구성하기 위해서, 이번에는 위 스크린샷과 같이 일단 우주 이미지를 Pixabay에서 가져오도록 합니다.



그리고 나서 BackGround라는 독립적인 게임 오브젝트를 만든 것 까지는 좋았습니다. 하지만, 문제는 이 다음이었습니다.




먼저 프로젝트 뷰에 있는 Assets>Sprites 폴더에 Background라는 위에서 지정한 이미지를 가져 오도록 합니다.



그리고 일단 BackGround라는 방금 생성한 게임 오브젝트에 Sprite Renderer를 추가하도록 합니다. 그리고 여기에 스프라이트 이미지에 Background를 지정 하도록 합니다.



일단 이미지가 원하는 사이즈에 맞지 않는 문제가 발생했으니, 이를 잡아 늘리도록 합니다.



이렇게 이미지의 크기도 강제로 어떻게 하는 데는 성공하였습니다만, 문제는 이 배경이 제대로 게임뷰에 반영이 되지 않는 문제점이 발생했습니다. 어디가 문제인지 지금의 저로서는 잘 알기 어려운데, 아무래도 다음 포스팅까지 이 문제를 어떻게 해결해 보고 나서, 포스팅을 올릴 것을 약속 드리며, 이번 포스팅은 여기서 마치도록 하겠습니다.

+ Recent posts

티스토리 툴바