
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
오류가 있는 건 아니지만 궁금한 점이 생겨서 질문 올립니다.
GameManager 코드 중에 float limit = 30.0f; 로 변수 선언한 부분이 있는데
limit가 진행 시간의 제한을 선언해준 것이라고 알고 있습니다.
따라서 강의를 들을 적에 이 변수의 숫자를 변경해주면 게임 제한 시간이 달라짐을 알 수 있었습니다.
하지만 게임을 다시 처음으로 세팅시키는 void initGame() 함수를 쓰면서 변수의 숫자를 변경시켜도 게임 재생시에 변화는 없고 영향이 따로 없어 보이더라구요. (예. float limit = 5.0f;)
게임을 다시 세팅시킬때에 limit의 수가 30.0으로 시작되면서 변수의 숫자가 영향이 없어진 것인지 궁금합니다.
그러면 변수의 선언보다 void initGame() 함수가 더 상위인걸까요?
답장해주시면 감사하겠습니다.
작성한 코드 및 에러 메세지
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour
{
public GameObject rain;
public static GameManager I;
public Text scoreText;
public Text timeTxt;
public GameObject panel;
int totalScore;
float limit = 30.0f;
void Awake()
{
I = this;
}
// Start is called before the first frame update
void Start()
{
InvokeRepeating("makeRain", 0, 0.5f);
initGame();
}
// Update is called once per frame
void Update()
{
limit -= Time.deltaTime;
if (limit < 0)
{
Time.timeScale = 0.0f;
limit = 0.0f;
panel.SetActive(true);
}
timeTxt.text = limit.ToString("N2");
}
void makeRain()
{
Instantiate(rain);
}
public void addScore(int score)
{
totalScore += score;
scoreText.text = totalScore.ToString();
}
public void retry()
{
SceneManager.LoadScene("MainScene");
}
void initGame()
{
Time.timeScale = 1.0f;
totalScore = 0;
limit = 30.0f;
}
}
오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.
Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.
Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!
