두번째 강의에서 만드는 게임은 첫번째 강의에서 만들었던 '빗물받는 르탄이'게임 내용을 복습하는 느낌의 강의였다.
두번째 강의에서 만든 게임은 '풍선을 지켜라'게임으로 구글 플레이스토어에 있는 '라이즈 업! 풍선을 보호하세요' 라는 게임과 비슷한 느낌이였다.
'풍선을 지켜라'게임에서 가장 핵심 부분은 위에서 나오는 장해물을 밀어내는 것과 최고 점수 표시 라고 생각된다.
먼저 장해물을 밀어내는 방법으로는 Unity에서 지원하는 기본 기능으로 Box Collider 2D 사용했다
![]() |
![]() |
장해물과 방어막에 Box Collider 2D를 적용시켜 두 게임오브젝트간에 충돌 작용이 일어나 장해물을 밀어낼수 있게 만들었다.
다음 최고 점수 표시 기능으로는 Unity에서 간단한 데이터를 저장할 수 있는 내장 클래스를 사용하였다.
public class GameManager : MonoBehaviour
{
public Text nowScore;
public Text bestScore;
float time = 0f;
void Update()
{
if (isPlay)
{
time += Time.deltaTime;
timeText.text = time.ToString("N2");
}
}
public void GameOver()
{
isPlay = false;
Invoke("TimeStop", 0.5f);
nowScore.text = time.ToString("N2");
if (PlayerPrefs.HasKey("bestScore")) // PlayerPrefs에 최고 점수가 있는 지 확인
{
float best = PlayerPrefs.GetFloat("bestScore");
//PlayerPrefs에 저장되어있는 점수를 best에 저장
if (best < time)
{
PlayerPrefs.SetFloat("bestScore", time);
bestScore.text = time.ToString("N2");
}
else
{
bestScore.text = best.ToString("N2");
}
}
else
{
PlayerPrefs.SetFloat("bestScore", time);
bestScore.text = time.ToString("N2");
}
}
}
PlayerPrefs.HasKey()로 최고점수 데이터가 있는지 확인하여 저장된 점수와 게임 점수를 비교하여 최고 점수를 저장한다.
이렇게 최종점수와 현제 플레이 게임의 점수를 비교하여 표시하게 된다.
'사전캠프 > TIL' 카테고리의 다른 글
2025-01-02 TIL (0) | 2025.01.02 |
---|---|
2024-12-31 TIL (0) | 2024.12.31 |
2024-12-26 TIL (1) | 2024.12.26 |
개발 블로그 개설 및 첫 글 작성하기! (1) | 2024.12.23 |