커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
게임 플레이 화면을 Maximize로 변경하면 레벨front 값과 레벨text가 변경되지 않습니다.
undefined주차
북마크
박*준
댓글
1
추천
0
조회수
9
조회수
9
답변 완료

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

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



게임 플레이 화면을 Maximize로 변경하면 레벨front 값과 레벨text가 변경되지 않습니다.


첫 번째 이미지처럼 기본 화면에서 게임을 진행하면 문제가 없지만


두 번째 이미지처럼 화면을 Maximize로 변경하면 레벨front 게이지가 변동이 없고 레벨text 값도 오르지 않습니다.


maximize일때도 normalcat은 잘 내려오고 food도 잘 쏩니다.





작성한 코드 및 에러 메세지

오류 발생

한 코드 전체와 에러 메시지를 첨부해 주세요.

[gameManager 스크립트]


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;




public class gameManager : MonoBehaviour

{

  public GameObject dog;

  public GameObject food;

  public GameObject normalCat;

  public GameObject fatCat;

  public GameObject pirateCat;

  public GameObject retryBtn;

  public Text levelText;

  public GameObject levelFront;

  public static gameManager I;




  int level = 0;

  int cat = 0;




  void Awake()

  {

    I = this;   

  }

  // Start is called before the first frame update

  void Start()

  {

    Time.timeScale = 1f;

    InvokeRepeating("makeFood", 0.0f, 0.1f);

    InvokeRepeating("makeCat", 0.0f, 1f);

  }




  // Update is called once per frame

  void Update()

  {

     

  }




  void makeFood()

  {

    float x = dog.transform.position.x;

    float y = dog.transform.position.y + 2.0f;

    Instantiate(food, new Vector3(x, y, 0), Quaternion.identity);

  }




  void makeCat()

  {

    Instantiate(normalCat);

    if (level == 1)

    {

      float p = Random.Range(0, 10);

      if (p < 2) Instantiate(normalCat);

    }

    else if (level == 2)

    {

      float p = Random.Range(0, 10);

      if (p < 4) Instantiate(normalCat);

      Instantiate(fatCat);

    }

    else if (level >= 3)

    {

      float p = Random.Range(0, 10);

      if (p < 6) Instantiate(normalCat);

      Instantiate(fatCat);

      Instantiate(pirateCat);

       

    }

  }




  public void gameOver()

  {

    retryBtn.SetActive(true);

    Time.timeScale = 0f;

  }




  public void addCat()

  {

    cat += 1;

    level = cat / 5;




    levelText.text = level.ToString();

    levelFront.transform.localScale = new Vector3((cat - level * 5) / 5.0f, 1.0f, 1.0f);

  }

}시, 작성
스파르타 즉문즉답


스파르타 즉문즉답

을 눌러 코드박스를 만들어 보세요.

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




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