사생활 보호 설정
https://gamjia.tistory.com
Updated News
Mini Rooms
답글수 [0]
What Friends Say
한마디로 표현해봐~
1촌평 관리
동전게임 개발일지 - 8
GamJia 2024. 1. 22. 18:37
동전게임 개발일지 8편게임오버를 만들어보자
일단 본격적으로 오늘 내용 들어가기 전에
주말 동안 핸드폰으로 열심히 테스트 해봤는데
1. 가끔 손을 떼서 lineRenderer가 사라졌음에도
불구하고 collider가 남아서 버그를 일으키는 경우가
가끔 있어서 Update에서 lineRenderer의 positionCount가
0인데 collider가 남아있는 경우 Destroy하게 했다
2. 원래 리셋을 한번 할 때마다 3점씩 감점하게 했는데
뭔가 "감점을 감수하고 리셋을 한다"
라는 느낌이 적어서 5점 감점으로 바꿔줬다
UI 들어가서 Slider 하나 생성해주고
핸들은 필요없으니 삭제
Max Value를 90으로 맞춰주고
Value도 최대로 맞춰준다
왜냐면 90초(1분 30초)동안
1초씩 감소하는 코루틴을 발생시킬거니까
Value가 0이 되면 게임 끝!
코루틴 넣기 전에 timer 위치랑
크기를 좀 잡아줬다
가로는 Screen.Width에서
1.125를 나눈 값
세로는 13.5를 나눈 값
위치는 X 좌표 0
Y 좌표는 7을 나눈 값이다
저번 리셋 버튼과 마찬가지로
처음 들어갈 때 3초 카운트 다운이 끝나면
활성화 되게 끔 해줬다 굿
그리고 타이머 전용
스크립트를 하나 만들어줬다
스타트 할 때 코루틴은
한번만 실행되고 끝이니까
이렇게 분리시켰다
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Timer : MonoBehaviour { Slider timer; public GameObject coin; public GameObject selectionBox; void Start() { timer=GetComponent<Slider>(); StartCoroutine(DecreaseSliderOverTime()); } IEnumerator DecreaseSliderOverTime() { while (timer.value > 0) { timer.value -= 1; yield return new WaitForSeconds(1f); } Debug.Log("Time Over"); coin.SetActive(false); selectionBox.SetActive(false); } }
코루틴은 아주 깔끔하게
0이 될 때까지 1초에 한 번씩
값을 1씩 감소 시키고
다 감소 됐으면 코인과
드래그 박스를 치워버린다
치워진 자리에는
GameOver UI를 넣을것이다