플래피 버드 를 패러디한 플래피 플레인 게임을 오늘 제작해서 과제의 일부로 편입을 했다.
강의 내용을 보면서 제작을 했으며, 점수 계산부분은 장애물 통과시 점수계산 대신에 경과한 시간에 따라 점수가 매겨지게 구성했다.
게임매니저에 추가한 로직을 정리하면 이렇다.
private int currentScore = 0; // 현재 점수
private float scoreTimer = 0f; // 누적 시간
public float scoreInterval = 1f; // 몇 초마다 1점 증가
private bool isGameOver = false; // 게임 상태 플래그
void Update()
{
if (isGameOver) return; // 게임 오버면 점수 증가 정지
scoreTimer += Time.deltaTime; // 매 프레임마다 시간 누적
if (scoreTimer >= scoreInterval) // 일정 시간이 지나면
{
scoreTimer = 0f; // 타이머 초기화
currentScore++; // 점수 1 증가
uiManager.UpdateScore(currentScore); // UI에 점수 반영
}
}
해당 로직의 핵심 역할은
점수저장을 구현한건 미니게임 내부의 게임매니저의 GameOver()메서드의 말미에 작성했다.
public void GameOver()
{
isGameOver = true;
uiManager.ShowRestartPanel();
// 점수 저장
PlayerPrefs.SetInt("LastMiniGameScore", currentScore);
PlayerPrefs.Save(); // (선택) 명시적으로 저장
}
이렇게 작성했다. 그리고 이렇게 저장한 점수를 메인씬의 게시판에서 출력할수 있게 오브젝트와 스크립트를 작성했다.
출력 부분은 이렇게 작성했다.
int score = PlayerPrefs.GetInt("LastMiniGameScore", 0);
scoreText.text = $"마지막 생존 점수: {score}";
이제 추가할 사항