커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
함수오류
게임 개발이 처음이어도 쉽게 배우는 모바일 게임 개발
기타
북마크
이*연
댓글
3
추천
0
조회수
9
조회수
9
답변 완료

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

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


3-7강중 갑자기 함수가 오류로 떠요..


스파르타 즉문즉답



작성한 코드 및 에러 메세지

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

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

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

using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
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;
            }
        }
    }




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


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



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