커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
Unity 3주차 / 3-6. Hp바가 잘못 차오릅니다.
게임개발 종합반 v8
3주차
북마크
신*지
댓글
3
추천
0
조회수
19
조회수
19
답변 완료


안녕하세요. 늘 친절하게 답변해주셔서 정말 감사합니다!

이번 3-6 강의의 마지막을 따라해보던 중, hp바 게이지가 증가하는 부분에서 오류가 발생했습니다.

쏘아진 음식과 고양이가 충돌하면 게이지가 차오르고, 5번을 맞추면 고양이가 모습이 변하면서 사라지는 것까지는 강의와 똑같이 구현이 되었지만,

5번을 맞추는 것만으로는 hp바가 꽉 채워지지 않네요.

혹시나 해서 front의 pivot을 조정해 보았지만, 특별히 해결되지 않았습니다.

front가 증가하는 scale x값에 문제가 있는걸까요?






아래는 로직대로 에너지가 꽉 차서 고양이가 사라지는 모습입니다. HP가 꽉 채워지지 않는 것만 제외하면 모두 정상으로 실행되네요.

스파르타 즉문즉답

front의 inspector 입니다.

스파르타 즉문즉답

back의 inspector 입니다.

스파르타 즉문즉답




작성한 코드 및 에러 메세지

// 해당 강의내용대로 작성한 cat의 코드입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class cat : MonoBehaviour
{
    float full = 5.0f;
    float energy = 0.0f;
    // Start is called before the first frame update
    void Start()
    {
        float x = Random.Range(-8.5f, 8.5f);
        float y = 30.0f;
        transform.position = new Vector3(x, y, 0);
    }


    // Update is called once per frame
    void Update()
    {
        if (energy < full)
        {
            transform.position += new Vector3(0.0f, -0.05f, 0.0f);
        }
        else
        {
            if (transform.position.x > 0)
            {
                transform.position += new Vector3(0.05f, 0.0f, 0.0f);
            }
            else
            {
                transform.position += new Vector3(-0.05f, 0.0f, 0.0f);
            }
            Destroy(gameObject, 3.0f);
        }
    }
    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
            {
                gameObject.transform.Find("hungry").gameObject.SetActive(false);
                gameObject.transform.Find("full").gameObject.SetActive(true);
            }
        }
    }   
}




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