커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3-9레벨구성하기
undefined주차
북마크
김*영
댓글
22
추천
0
조회수
28
조회수
28
답변 완료

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

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



아래 질문에서 코드 요청하셔서 붙였습니다.





작성한 코드 및 에러 메세지

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;



public class GameManager : MonoBehaviour

{

    public static GameManager Instance;


    public GameObject normalCat;

    public GameObject fatCat;

    public GameObject pirateCat;

    public GameObject retryBtn;


    public RectTransform levelFront;

    public Text levelTxt;


    public int level = 0;

    int score = 0;


    private void Awake()

    {

        if(Instance == null)

        {

            Instance = this;

        }

        Application.targetFrameRate = 60;

        Time.timeScale = 1.0f;

    }


    // Start is called before the first frame update

    void Start()

    {

        InvokeRepeating("MakeCat", 0f, 1f);

    }


    void MakeCat()

    {

        Instantiate(normalCat);


       

        if(level == 1)

        {

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

            if(p < 2) Instantiate(normalCat);

        }

        else if(level == 2)

        {

           

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

            if (p < 5) Instantiate(normalCat);

        }

        else if(level == 3)

        {

         

            Instantiate(fatCat);

        }

        else if(level >= 4)

        {

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

            if (p < 5) Instantiate(normalCat);


            Instantiate(fatCat);

            Instantiate(pirateCat);

        }

    }


    public void GameOver()

    {

        retryBtn.SetActive(true);

        Time.timeScale = 0f;

    }


    public void AddScore()

    {

        score++;

        level = score / 5;

        levelTxt.text = level.ToString();

        levelFront.localScale = new Vector3((score - level * 5) / 5.0f, 1f, 1f);

    }

}



using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class Cat : MonoBehaviour

{

    public GameObject hungryCat;

    public GameObject fullCat;


    public RectTransform front;


    public int type;


    float full = 5.0f;

    float energy = 0.0f;

    float speed = 0.05f;


    bool isFull = false;


    void Start()

    {

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

        float y = 30.0f;

        transform.position = new Vector2(x, y);


        if (type == 1)

        {

            speed = 0.05f;

            full = 5f;

        }

        else if (type == 2)

        {

            speed = 0.02f;

            full = 10f;

        }

        else if (type == 3)

        {

            speed = 0.1f;

        }

    }


    // Update is called once per frame

    void Update()

    {

        if (energy < full)

        {

            transform.position += Vector3.down * speed;

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

            {

                GameManager.Instance.GameOver();

            }

        }

        else

        {

            if (transform.position.x > 0)

            {

                transform.position += Vector3.right * 0.05f;

            }

            else

            {

                transform.position += Vector3.left * 0.05f;

            }

            Destroy(gameObject, 3.0f);

        }

    }


    private void OnTriggerEnter2D(Collider2D collision)

    {

        if (collision.gameObject.CompareTag("Food"))

        {

            if (energy < full)

            {

                energy += 1.0f;

                front.localScale = new Vector3(energy / full, 1.0f, 1.0f);

                Destroy(collision.gameObject);


                if (energy == 5.0f)

                {

                    if (!isFull)

                    {

                        isFull = true;

                        hungryCat.SetActive(false);

                        fullCat.SetActive(true);

                        Destroy(gameObject, 3.0f);

                        GameManager.Instance.AddScore();

                    }

                }

            }

        }

    }

}오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

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

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




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