커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
뚱냥이가 5번만 맞아도 사라집니다..
undefined주차
북마크
서*근
댓글
7
추천
0
조회수
21
조회수
21
답변 완료

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

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


5로 했을때는 정상적으로 hp바 다채워진 상태로 퇴장하는데

full을 10으로 정의를 해줘도 5번 맞으면 hp바가 반만 채워진상태로 퇴장합니다..

다른건 전부다 정상적으로 작동하는데 유독 이거만 이러네요 ㅠㅠ..






작성한 코드 및 에러 메세지

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;

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

    if (type == 1)

    {

      full = 10.0f;

    }

    if (type == 2)

    {

      full = 15.0f;

    }

     

  }


  // Update is called once per frame

  void Update()

  {

    if (energy < full)

    {

      if (type == 0)

      {

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

      }

      else if (type == 1)

      {

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

      }

      else if (type == 2)

      {

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

      }

       

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

      {

        // 게임오버!!!

        gameManager.I.gameOver();

      }

    }


    else

    {

      if (transform.position.x > 0)

      {

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

      }

      else

      {

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

      }

      Destroy(gameObject, 3f);

    }

     

  }

  void OnTriggerEnter2D(Collider2D coll)

  {

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

    {

      if (energy < full)

      {

        energy += 1f;

        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;

        }

         

      }

    }

  }

}

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

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

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




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