커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
fatCat이 안뜹니다
undefined주차
북마크
이*호
댓글
5
추천
0
조회수
15
조회수
15
답변 완료

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

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


fatcat이 레벨3에 도달하면 보여야되는데 안 보입니다ㅣ


아 그리고 고양이가 끝에 도달하지않았는데 게임이 자동으로 gameover가 됩니다...






gameManager.cs

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 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()
    {
        InvokeRepeating("makeFood", 0.0f, 0.2f);
        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 < 5 ) Instantiate(normalCat);
        }
        else if(level >=3)
        {
            float p = Random.Range(0, 10);
            if(p <6) Instantiate(normalCat);
            
            Instantiate(fatCat);
        }
    }


    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);
    }
}



   


cat.cs


using System.Collections;

using System.Collections.Generic;

using UnityEngine;




public class cat : MonoBehaviour

{

  float full = 5f;

  float energy = 0f;

  bool isFull = false;

  public int type;

  // Start is called before the first frame update

  void Start()

  {

    float x = Random.Range(-8.5f, 8.5f);

    float y = 30f;




    if (type == 1)

    {

      full = 10.0f;

    }

    transform.position = new Vector3(x, y, 0);

  }




  // Update is called once per frame

  void Update()

  {

    if(energy < full)

    {

      if(type == 0)

      {

        transform.position += new Vector3(0.0f, -0.01f, 0.0f);

      }

      else if (type == 1)

      {

        transform.position += new Vector3(0.0f, -0.008f, 0.0f);

      }




      if(transform.position.y < -16f)

      {

        gameManager.I.gameOver();

      }




    }

    else

    {

      if(transform.position.x > 0)

      {

        transform.position += new Vector3(0.01f, 0, 0);

      }

      else

      {

        transform.position += new Vector3(-0.009f, 0, 0);

      }

      Destroy(gameObject, 3f);

    }

     

  }




  void OnTriggerEnter2D(Collider2D coll)

  {

    if (coll.gameObject.tag == "food")

    {

      if (energy < full)

      {

        energy += 1.0f;

        Destroy(coll.gameObject);

        gameObject.transform.Find("hungry/Canvas/front").transform.localScale = new Vector3(energy / full, 1.0f, 1.0f);




      }

      else

      {

        if(isFull == false)

        {

          gameManager.I.addCat();

          gameObject.transform.Find("hungry").gameObject.SetActive(false);

          gameObject.transform.Find("full").gameObject.SetActive(true);

          isFull = true;

        }

         

      }

    }

  }

}






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