Priv's Blog
Programming Simple Functionality: Unit 5 - User Interface) Challenge 5 - Whack-a-Food 본문
Programming Simple Functionality: Unit 5 - User Interface) Challenge 5 - Whack-a-Food
Priv 2021. 7. 24. 18:15출처
1. 서언
(영상: 링크 참조)
1. 여러분의 Prototype 5 프로젝트를 열어주세요.
2. "Challenge 5 Starter Files"를 클릭해 다운로드하시고, 압축 파일을 해제하신 뒤, .unitypackage 파일을 여러분의 프로젝트에 Import 해주세요. 방법을 까먹으셨다면, Lesson1.1, step2를 참고해주세요.
3. Project 창 > Assets > Challenge 5 > Instructions 폴더로 가시고, "Challenge 5 - Outcome"를 참고하셔서 도전과제를 완수해주세요.
2. 주의사항
도전과제 파일을 여러분의 프로젝트에 임포트 하시면, 의도적으로 버그가 발생하도록 되어 있습니다.
도전과제의 목적은 여러분이 아래에 나열되어 있는 버그들을 수정하는 것이며, 작업을 진행하시다가 막혔을 경우에 참고하실 수 있는 힌트들이 페이지 하단에 준비되어 있습니다.
만약 버그를 수정할 수 없고 도전과제 파일을 여러분의 프로젝트에서 삭제하고 싶으시다면, Project 창에서 마우스 우-클릭, Assets > Challenge 5으로 가셔서 Delete를 선택하시면 됩니다.
행운을 빕니다!
3. 난이도 버튼들이 지저분하게 보입니다.
- 문구가 버튼의 정중앙에 오도록 만들어주세요.
4. 음식이 너무 빨리 파괴됩니다.
- 음식은 마우스가 음식에 닿았을 때가 아니라, 플레이어가 음식을 마우스로 클릭했을 때 파괴돼야 합니다.
5. 점수가 "score" 단어를 대체합니다.
- 항상 게임 화면에는 "Score: ___" 형식으로 표시되어야 합니다. 즉, 점수 값이 "Score:" 문구 뒤에 와야 합니다.
6. 게임에서 졌을 때, 게임을 다시 시작할 수 있는 방법이 없습니다.
- 게임 오버 스크린에 다시 시작 버튼이 나타나도록 만들어주세요.
7. 난이도 버튼을 눌러도 게임 난이도가 바뀌질 않습니다.
- spawnRate 값이 항상 매우 빠르게 설정되어 있습니다. Easy를 눌렀을 때, spawnRate 값이 떨어져야 합니다. - 만약 플레이어가 Hard 버튼을 누른다면, spawnRate 값이 빨라져야 합니다.
8. 보너스: 게임이 영원히 플레이될 수 있습니다.
- "Time:___" 문구를 게임 화면에 추가하여 60초를 카운트 다운하도록 만들어주세요. (예: 59, 58, 57, 등) 카운트 다운이 끝나면 게임 오버 시컨스가 활성화되도록 만들어주세요.
힌트
- 문구가 버튼의 정중앙에 오도록 만들어주세요.
힌트 - 버튼 오브젝트들 중에 하나를 Hierarchy에서 펼쳐보시면, 하위에 있는 "Text" 오브젝트가 보이실 겁니다. - 여러분은 이 "Text" 오브젝트의 속성들을 편집하셔야 합니다.
- 음식은 마우스가 음식에 닿았을 때가 아니라, 플레이어가 음식을 마우스로 클릭했을 때 파괴돼야 합니다.
힌트 - OnMouseEnter()는 마우스가 오브젝트의 콜라이더(collider)에 들어갔을 때를 감지합니다. OnMouseDown()은 마우스가 오브젝트의 콜라이더를 클릭했을 때를 감지합니다.
- 항상 게임 화면에는 "Score: ___" 형식으로 표시되어야 합니다. 즉, 점수 값이 "Score:" 문구 뒤에 와야 합니다.
힌트 - 여러분이 점수 텍스트를 설정하실 때, "Score:" 문구와 실제 점수 값을 추가(연결)해주셔야 합니다.
- 게임 오버 스크린에 다시 시작 버튼이 나타나도록 만들어주세요.
힌트 - GameOver() 메서드에서, 다시 시작 버튼을 다시 활성화시키도록 만들어주세요.
- spawnRate 값이 항상 매우 빠르게 설정되어 있습니다. Easy를 눌렀을 때, spawnRate 값이 떨어져야 합니다. - 만약 플레이어가 Hard 버튼을 누른다면, spawnRate 값이 빨라져야 합니다.
힌트 - 버튼 스크립트에서 게임 매니저 스크립트로 넘겨주는 정보 (또는 매개변수)가 존재하지 않습니다. - 여러분이 난이도 매개변수를 구현하셔야 합니다.
- 보너스: "Time:___" 문구를 게임 화면에 추가하여 60초를 카운트 다운하도록 만들어주세요. (예: 59, 58, 57, 등) 카운트 다운이 끝나면 게임 오버 시컨스가 활성화되도록 만들어주세요.
힌트 - 구글에 "Unity Count down timer C#" ("유니티 카운트 다운 타이머 C#")이라고 검색해보세요. "Time.deltaTime" 부분은 제외하시고, Mathf.Round() 메서드를 사용하셔서 정수만 표시되도록 만들어주세요.