복습: 업적 팝업
Coddy Unity 여정의 Unity 게임 아키텍처 섹션에 포함된 레슨. 50개 중 14번째.
챌린지
쉬움화살표 키로 Player를 움직일 수 있고, 마당에는 코인이 놓여 있습니다(Player.cs 준비 완료). 화면에 표시되는 업적을 게임에 추가하세요. 스크립트 세 개를 작성하세요. 씬에는 이미 각 스크립트의 필드가 연결되어 있고, Achievements의 On Unlocked (String) 목록은 HUD의 AchievementPopup.Show에 연결되어 있습니다.
Collector(Player에 부착)는 닿는 모든Coin태그가 붙은 오브젝트를 주워 제거하고, int를 전달하는 공개 C# 이벤트OnCoinsChanged로 새 총개수를 알립니다. 업적에 대해서는 아무것도 알지 못합니다.Achievements는 활성화된 동안에만collector의 변경을 감지합니다. 코인이 1개면First Coin, 3개면Pocket Money, 6개면Coin Hoarder를 잠금 해제합니다. 각 업적을 잠금 해제할 때 제목(string)을 전달하는 UnityEvent 필드onUnlocked를 호출합니다.AchievementPopup.Show(string title)는panel을 표시하고,titleText에는Unlocked: First Coin이 표시되도록 한 뒤showTime(2)초 후에 패널을 숨깁니다. 패널이 표시된 상태에서 Show를 호출하면 새 제목을 표시하고, 2초 타이머를 다시 시작합니다.
Play를 누르고 코인 6개를 모두 모은 다음 Check를 누르세요.
직접 해보기
using UnityEngine;
public class Achievements : MonoBehaviour
{
public Collector collector;
}