커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
GameManager 코드 중 limit 변수 선언 관련 질문
undefined주차
북마크
유*영
댓글
1
추천
0
조회수
11
조회수
11
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


오류가 있는 건 아니지만 궁금한 점이 생겨서 질문 올립니다.

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) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴