커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
MissingReferenceException: The variable square of gameManager doesn't exist anymore. 에러 조치 방법 문의
undefined주차
북마크
성*선
댓글
1
추천
0
조회수
10
조회수
10
답변 완료

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

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



Retry Btn 을 만들고 실행하면 아래와 같은 에러가 발생합니다.

square 변수가 gameManager에 없다고 뜨는거 같은데요. 실제로 소스나 객체에 반영까지 해줬는데도 에러가 발생합니다.

원인을 모르겠습니다.


MissingReferenceException: The variable square of gameManager doesn't exist anymore.

You probably need to reassign the square variable of the 'gameManager' script in the inspector.

UnityEngine.Object.Instantiate[T] (T original) (at <913bb12059fd4cef8da5cc94ad2f0933>:0)

gameManager.makeSquare () (at Assets/Scripts/gameManager.cs:43)



스파르타 즉문즉답스파르타 즉문즉답




작성한 코드 및 에러 메세지

오류 발생 시, 작성한 코드 전체와


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

using UnityEngine.SceneManagement;


public class gameManager : MonoBehaviour

{

  public static gameManager I;

  public GameObject square;

  public GameObject endPanel;


  public Text timeTxt;

  public Text thisScoreTxt;

  float alive = 0f;

  bool isRunning = true;



  void Awake()

  {

    I = this;

  }


  // Start is called before the first frame update

  void Start()

  {

    Time.timeScale = 1.0f;

    InvokeRepeating("makeSquare", 0.0f, 0.5f);

  }


  // Update is called once per frame

  void Update()

  {

    if(isRunning)

    {

      alive += Time.deltaTime;

      timeTxt.text = alive.ToString("N2"); // 소수점 2째 자리까지

    }

  }


  void makeSquare()

  {

    Instantiate(square);

  }


  public void gameOver()

  {

    isRunning = false;


    Time.timeScale = 0f;

    thisScoreTxt.text = alive.ToString("N2");

    endPanel.SetActive(true);

  }


  public void retry()

  {

    SceneManager.LoadScene("MainScene");

  }

}

에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




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