
안녕하세요. 늘 친절하게 답변해주셔서 정말 감사합니다!
이번 3-6 강의의 마지막을 따라해보던 중, hp바 게이지가 증가하는 부분에서 오류가 발생했습니다.
쏘아진 음식과 고양이가 충돌하면 게이지가 차오르고, 5번을 맞추면 고양이가 모습이 변하면서 사라지는 것까지는 강의와 똑같이 구현이 되었지만,
5번을 맞추는 것만으로는 hp바가 꽉 채워지지 않네요.
혹시나 해서 front의 pivot을 조정해 보았지만, 특별히 해결되지 않았습니다.
front가 증가하는 scale x값에 문제가 있는걸까요?
아래는 로직대로 에너지가 꽉 차서 고양이가 사라지는 모습입니다. HP가 꽉 채워지지 않는 것만 제외하면 모두 정상으로 실행되네요.
.png)
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);
}
}
}
}
