방명록
- Unity 게임 개발 #2 - 피하기 게임<rainRtan> 22023년 07월 27일 20시 48분 05초에 업로드 된 글입니다.작성자: noun06
유니티를 사용하여 개발한 비 피하기 모바일 게임입니다.
1. 다시하기 UI 세팅
- UI 판넬 생성 후 색상, 위치 설정, 비활성화 처리.
2. 타이머
- limit 변수 선언 후 deltaTime값 계속 줄어들게 하기, 0 미만일 시 시간 정지.
- 시간 UI 오브젝트가 timeLimit값과 동일하게 하기(N2로 소숫점 둘째 자리까지 표시).
//gameManager.cs public Text timeText; //time 텍스트 오브젝트 void Update() { limit -= Time.deltaTime; //시간 감소 if (limit < 0) { Time.timeScale = 0.0f; limit = 0.0f; } timeText.text = timeLimit.ToString("N2"); }
3. 다시하기 UI 나오게 하기
- limit 값이 0 미만일 시 SetActive()함수를 통해 panel 오브젝트 활성화.
- SetActive(true) : 활성화
- SetActive(false) : 비활성화
//gameManager.cs public GameObject panel; // 패널 UI 오브젝트 void Update() { //.. if (limit < 0) { Time.timeScale = 0.0f; limit = 0.0f; panel.SetActive(true); //패널 활성화 } //.. }
4. 게임 재시작
- panel오브젝트에 버튼 컴포넌트 추가.
- gameManager에 씬 불러오는 기능을 가진 retry()함수를 생성.
//gameManger.cs using UnityEngine.SceneManagement; public void retry() { SceneManager.LoadScene("MainScene"); }
- panel.cs에 retry()함수 불러온 후 panel에 버튼에 OnClick 넣기.
//panel.cs public void retry() { gameManager.I.retry(); }
- 현재 시간, 총 점수, 제한 시간을 초기화하는 함수 initGame() 생성 후 게임 시작 시 호출
//gameManager.cs void Start() { initGame(); } void initGame() { Time.timeScale = 1.0f; totalScore = 0; limit = 30.0f; }
5. 맞으면 점수 하락하는 빨간 비 생성
- 새로운 비 타입 4 생성, type Random.Range의 범위를 늘려주기.
//rain.cs void Start() { //.. type = Random.Range(1, 5); if (type == 1) {//..} else if (type == 2) {//..} else if(type == 3) {//..} else { size = 0.8f; score = -5; //점수 5점 하락 GetComponent<SpriteRenderer>().color = new Color(255 / 255.0f, 100.0f / 255.0f, 100.0f / 255.0f, 255.0f / 255.0f); } transform.localScale = new Vector3(size, size, 0); }
6. 결과물
'Unity' 카테고리의 다른 글
Unity 게임 개발 #6 - 카드 매칭 게임<Teammate-Cardgame> 2 (0) 2023.08.07 Unity 게임 개발 #5 - 카드 매칭 게임<Teammate-Cardgame> 1 (0) 2023.08.01 Unity 게임 개발 #4 - 고양이 밥주기 슈팅 게임<catvsdog> (0) 2023.07.31 Unity 게임 개발 #3 - 풍선 지키기 게임<myShield> (0) 2023.07.28 Unity 게임 개발 #1 - 피하기 게임<rainRtan> 1 (0) 2023.07.26 다음글이 없습니다.이전글이 없습니다.댓글