메인 메뉴 화면을 새로 만들어서 게임 시작 버튼을 클릭하였을 때
게임 화면으로 넘어가는 시스템을 추가하였다.
메인 메뉴에 사용되는 버튼들 추가 방법은
유튜버 "골드메탈"님의 영상을 참고하였다.
https://www.youtube.com/watch?v=qXa7y1Que6s&t=810s
또한 게임 화면에 일시정지 버튼을 추가하여
게임을 하는 도중에 일시정지를 할 수 있도록 해주었다.
"시작하기" 버튼을 클릭하면 게임 실행 화면으로
"설정" 버튼을 클릭하면 아래 화면으로 이동한다.
설정 항목들은 아직 추가하지 않은 상태이고
"뒤로가기" 버튼을 누르면 위 화면으로 되돌아간다.
"일시정지" 버튼을 클릭하면 음식 생성과 스네이크의 이동이 정지하고
"다시시작" 버튼을 클릭하면 다시 게임이 진행된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour
{
// for Setting
public GameObject inSetting;
public GameObject mainButton;
// Snake Var
public GameObject snake;
// Score Var
public Text scoreText;
// Pause Var
bool isPause = false;
public Text pauseText;
void Update()
{
// Run in GameScene
if (SceneManager.GetActiveScene().name == "GameScene")
{
// Load Score from Snake Script
Snake snakeLogic = snake.GetComponent<Snake>();
scoreText.text = string.Format("{0:n0}", snakeLogic.score); // {0:n0}: 세자리마다 쉼표로 나눠주는 숫자 양식
}
}
// Start Button
public void GameStart()
{
// Change Scene
SceneManager.LoadScene(1);
}
// Setting Button
public void GameSetting()
{
// On or Off the Object
inSetting.SetActive(true);
mainButton.SetActive(false);
}
// Back Button in Setting
public void SettingBack()
{
// On or Off the Object
inSetting.SetActive(false);
mainButton.SetActive(true);
}
// Pause Game
public void TimePause()
{
if (isPause)
{
// Resume
Time.timeScale = 1;
pauseText.text = "일시정지";
isPause = false;
}
else
{
// Pause
Time.timeScale = 0;
pauseText.text = "다시시작";
isPause = true;
}
}
}
궁금하신 점은 밑에 댓글 바랍니다
'메모장 > 스네이크 게임' 카테고리의 다른 글
스네이크 게임 - 게임 클리어 판정 (0) | 2021.01.20 |
---|---|
스네이크 게임 - 게임 오버 판정 (0) | 2021.01.19 |
스네이크 게임 - 점수 카운트 (0) | 2021.01.17 |
스네이크 게임 - 스네이크 길이 증가 (0) | 2021.01.16 |
스네이크 게임 - 음식 랜덤 생성 (2) | 2021.01.15 |