📍오늘 목표
📍배운 것
- 이미 등록한 prefab은 overrides를 통해 수정/갱신할 수 있다
- rigidbody의 Body Type (Kinematic로 바꾸면 중력의 영향을 받지 않는다)
📍겪은 어려움
- 고양이의 프레임이 겹쳐 등장함
- fatcat의 하위인 full과 hungry에 애니메이션과 이미지를 넣어주어야 했는데 fatcat자체에도 이미지를 넣는 바람에 겹치는 현상이 발생한 거였음
- normalCat과 FatCat의 Type를 그냥 숫자 말고 enum문으로 표현해보려고 했는데 살짝 헤맴 (하지만 해냄)
- enum문으로 표현하면 Type을 숫자 말고 Normal과 Fat으로 선택할 수 있어서 직관적이고 헷갈릴 여지가 적다. 자주 써먹어도 좋을듯!

- fatCat에 닿으면 front가 할당되지 않았다는 오류가 뜸 (할당은 잘 함)
- fatCat이 퇴장하지 않는 문제 발생
- isTrigger를 체크하지 않아 문제였음
(제발)
- fatCat의 퇴장이 더 느림 (왜??)
- normalCat은 바로바로 퇴장하는데 유독 fatCat만 딜레이가 생김
- 3초 후에 사라지는 것은 동일
- 클론이 너무 많아 렉이 발생하는 건가 싶어 fatCat을 일찍 등장시켜 봤는데도 동일한 현상 나타남
- Update에서 energy를 주기적으로 확인하던 코드를 빼고 OnTriggerEnter2D안에서 돌아가던 코드와 합쳐줌 > 이후 빠릿빠릿 잘 퇴장함! (코드 아래 첨부)
public enum CAT_STATE
{
stay,
exit_left,
exit_right
}
public class Cat : MonoBehaviour
{
private CAT_STATE catState = CAT_STATE.stay;
}
void Update()
{
if (catState == CAT_STATE.exit_right)
{
transform.position += Vector3.right * 0.05f;
}
else if (catState == CAT_STATE.exit_left)
{
transform.position += Vector3.left * 0.05f;
}
else if (catState == CAT_STATE.stay)
{
transform.position += Vector3.down * speed;
if (transform.position.y < -16.0f)
{
GameManager.Instance.GameOver();
}
}
else
{
Debug.Log("catState error");
}
}
if (catState == CAT_STATE.stay)
{
if (transform.position.x > 0)
catState = CAT_STATE.exit_right;
else
catState = CAT_STATE.exit_left;
}
📍회고 및 반성
- TIL 초안 작성을 마치고 좀 더 내용을 추가하고 싶다는 욕심을 부리다가 결국 하루를 넘김 (추가도 제대로 안 함…)
- 앞으로는 완벽하지 않더라도 당일에 TIL을 올릴 것.
- 왜냐하면 그게 TIL이니까……