사생활 보호 설정
https://gamjia.tistory.com
Updated News
Mini Rooms
답글수 [0]
What Friends Say
한마디로 표현해봐~
1촌평 관리
[Day 21] Suika Game Tutorial 5
GamJia 2024. 11. 27. 21:35
오블완 챌린지 21일차
오늘 블로그 챌린지 마지막 날에
첫눈까지 와서 너무 신난
GamJia 입니다
오늘 드디어 블로그 챌린지의
마지막 날입니다!
오늘 점심시간에 만든 눈사람과 함께
블로그 챌린지 마지막 날을
축하하겠습니다!
일단 카운트 다운을 표시해줄
Text과 GameOver 영역을
추가해주겠습니다
using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; namespace SuikaGame { public class GameOver : MonoBehaviour { [SerializeField] private TMP_Text countdownText; // 카운트다운을 표시할 TextMeshPro [SerializeField] private GameObject gameOver; // GameOver 화면 private List<GameObject> fruits = new List<GameObject>(); // 트리거된 객체 리스트 private Coroutine countdownCoroutine; // 카운트다운 코루틴 private bool isCoroutine = false; // 코루틴 상태 확인용 void Start() { countdownText.gameObject.SetActive(false); } private void OnTriggerEnter2D(Collider2D other) { if (!fruits.Contains(other.gameObject)) { fruits.Add(other.gameObject); // 리스트 길이가 1 이상이면 카운트다운 시작 if (fruits.Count > 0 && !isCoroutine) { countdownCoroutine = StartCoroutine(StartCountdown()); isCoroutine = true; } } } private void OnTriggerExit2D(Collider2D other) { if (fruits.Contains(other.gameObject)) { fruits.Remove(other.gameObject); // 리스트가 비면 카운트다운 중지 및 초기화 if (fruits.Count == 0) { if (countdownCoroutine != null) { StopCoroutine(countdownCoroutine); countdownCoroutine = null; isCoroutine = false; } countdownText.gameObject.SetActive(false); // UI 비활성화 } } } private IEnumerator StartCountdown() { yield return new WaitForSeconds(2f); float timeRemaining = 5f; countdownText.gameObject.SetActive(true); while (timeRemaining > 0) { countdownText.text = Mathf.Ceil(timeRemaining).ToString(); // 남은 시간을 UI에 표시 timeRemaining -= Time.deltaTime; yield return null; } // 카운트다운 완료 시 GameOver UI 활성화 gameOver.SetActive(true); countdownText.gameObject.SetActive(false); // UI 비활성화 } } }
코드의 설명은 다음과 같습니다
countDownText에는 방금 만든 text
gameOver에는 어제 작업한 GameOver창을
연결해주도록 하겠습니다
원래는 게임오버 영역이
위에 있었는데 스겜을 위해
잠시 밑으로 내렸습니다!
게임 오버, 타이머, 게임 재시작까지
잘 진행되는 모습입니다
블로그 챌린지는 여기까지 하고
GitHub에 Commit하는걸로
마무리 하겠습니다!
길다면 길고, 짧다면 짧은
3주가 정말 금방 지나갔네요
다음에 더 재밌는 블로그
챌린지로 돌아오도록 하겠습니다!
감사합니다!!