오늘은 그동안 작업한 퀴즈게임을 간단하게 완성해 봅니다.

게임 시작화면에서 시작버튼을 클릭하면 게임화면으로 이동하도록 스크립트를 작성합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class StartGame : MonoBehaviour
{
public void StartBtn()
{
SceneManager.LoadScene("GameIng");
}
}

게임 시작씬에 있는 버튼에 해당 스크립트를 어태치하고, 버튼에 이벤트를 등록해줍니다.

게임 종료시 엔딩씬으로 이동하도록 합니다.
using UnityEngine.SceneManagement;
처음에 네임스페이스를 지정해주어야 합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class ButtonCheck : MonoBehaviour
{
public void AnswerButton()
{
//Debug.Log("보기: " + this.GetComponentInChildren<Text>().text);
//Debug.Log("정답: " + GameObject.FindGameObjectWithTag("RightAnswerText").GetComponent<Text>().text);
//Debug.Log("정답: " + GameManager.instance.answer[3]);
//Debug.Log("점수: " + GameManager.instance.GameScore);
GameManager.instance.QuizNum++;
if (GameObject.FindGameObjectWithTag("RightAnswerText").GetComponent<Text>().text == this.GetComponentInChildren<Text>().text)
{
Debug.Log("정답입니다~");
GameManager.instance.GameScore += 10;
Debug.Log("점수: " + GameManager.instance.GameScore);
}
if (GameManager.instance.QuizNum < GameManager.instance.TotalQuizNum)
{
GameManager.instance.QuizText.text = GameManager.instance.QuizTextArray[GameManager.instance.QuizNum];
GameManager.instance.ButtonText1.text = GameManager.instance.answer[GameManager.instance.QuizNum];
GameManager.instance.AnswerText = GameManager.instance.AnswerTextArray[GameManager.instance.QuizNum];
GameManager.instance.answer = GameManager.instance.AnswerText.Split(',');
GameManager.instance.ButtonText1.text = GameManager.instance.answer[0];
GameManager.instance.ButtonText2.text = GameManager.instance.answer[1];
GameManager.instance.ButtonText3.text = GameManager.instance.answer[2];
GameManager.instance.RightAnswer.text = GameManager.instance.answer[3];
}
else
{
if (GameManager.instance.GameScore == 30)
{
Debug.Log("모든 문제를 맞추었습니다.^^");
}
Debug.Log("게임 종료");
SceneManager.LoadScene("EndGame");
}
GameManager.instance.GameScoreText.text = "점수: " + GameManager.instance.GameScore;
}
}

엔딩씬에서 점수를 출력해줄 스크립트를 작성해줍니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EndGame : MonoBehaviour
{
public Text EndText;
// Start is called before the first frame update
void Start()
{
EndText.text = "당신의 점수는 " + GameManager.instance.GameScore;
}
}

엔딩씬에서 텍스트 오브젝트에 해당 스크립트를 어태치하고, 변수를 할당합니다.

다음과 같이 게임을 테스트합니다. 게임이 완료되면 마지막 씬으로 이동되면서 점수를 출력하는 것을 볼 수 있습니다. ^^ 100일의 여정이 끝났네요. 비록 시간이 없어서 영상은 못 찍었지만.. 작은 목표는 달성했습니다. 작은 습관, 꾸준함이 중요합니다. ^^

오늘은 그동안 작업한 퀴즈게임을 간단하게 완성해 봅니다.
게임 시작화면에서 시작버튼을 클릭하면 게임화면으로 이동하도록 스크립트를 작성합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class StartGame : MonoBehaviour
{
public void StartBtn()
{
SceneManager.LoadScene("GameIng");
}
}
게임 시작씬에 있는 버튼에 해당 스크립트를 어태치하고, 버튼에 이벤트를 등록해줍니다.
게임 종료시 엔딩씬으로 이동하도록 합니다.
using UnityEngine.SceneManagement;
처음에 네임스페이스를 지정해주어야 합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class ButtonCheck : MonoBehaviour
{
public void AnswerButton()
{
//Debug.Log("보기: " + this.GetComponentInChildren<Text>().text);
//Debug.Log("정답: " + GameObject.FindGameObjectWithTag("RightAnswerText").GetComponent<Text>().text);
//Debug.Log("정답: " + GameManager.instance.answer[3]);
//Debug.Log("점수: " + GameManager.instance.GameScore);
GameManager.instance.QuizNum++;
if (GameObject.FindGameObjectWithTag("RightAnswerText").GetComponent<Text>().text == this.GetComponentInChildren<Text>().text)
{
Debug.Log("정답입니다~");
GameManager.instance.GameScore += 10;
Debug.Log("점수: " + GameManager.instance.GameScore);
}
if (GameManager.instance.QuizNum < GameManager.instance.TotalQuizNum)
{
GameManager.instance.QuizText.text = GameManager.instance.QuizTextArray[GameManager.instance.QuizNum];
GameManager.instance.ButtonText1.text = GameManager.instance.answer[GameManager.instance.QuizNum];
GameManager.instance.AnswerText = GameManager.instance.AnswerTextArray[GameManager.instance.QuizNum];
GameManager.instance.answer = GameManager.instance.AnswerText.Split(',');
GameManager.instance.ButtonText1.text = GameManager.instance.answer[0];
GameManager.instance.ButtonText2.text = GameManager.instance.answer[1];
GameManager.instance.ButtonText3.text = GameManager.instance.answer[2];
GameManager.instance.RightAnswer.text = GameManager.instance.answer[3];
}
else
{
if (GameManager.instance.GameScore == 30)
{
Debug.Log("모든 문제를 맞추었습니다.^^");
}
Debug.Log("게임 종료");
SceneManager.LoadScene("EndGame");
}
GameManager.instance.GameScoreText.text = "점수: " + GameManager.instance.GameScore;
}
}
엔딩씬에서 점수를 출력해줄 스크립트를 작성해줍니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EndGame : MonoBehaviour
{
public Text EndText;
// Start is called before the first frame update
void Start()
{
EndText.text = "당신의 점수는 " + GameManager.instance.GameScore;
}
}
엔딩씬에서 텍스트 오브젝트에 해당 스크립트를 어태치하고, 변수를 할당합니다.
다음과 같이 게임을 테스트합니다. 게임이 완료되면 마지막 씬으로 이동되면서 점수를 출력하는 것을 볼 수 있습니다. ^^ 100일의 여정이 끝났네요. 비록 시간이 없어서 영상은 못 찍었지만.. 작은 목표는 달성했습니다. 작은 습관, 꾸준함이 중요합니다. ^^