-
11일차 고양이 나타내기개발일지/스파르타 코딩클럽 유니티 강의 2024. 4. 2. 15:59
오늘 배운 내용
- 고양이 만들기
- 고양이에 애니메이션 붙이기
- 뚱뚱한 고양이 만들기
- 프리팹화 하기
- 고양이 내려오게 하기
- 고양이와 밥 충돌하게 하기
- 충돌하면 에너지 채워주기
- 에너지가 차면 퇴장하게 하기
- 특정 y좌표 밑으로 내려가면 게임 종료
새로 알게 된 내용
HP바 를 만들때 다른 색의 바 두개를 겹쳐서 만들기
캔버스로 back과 front 바 두개를 만들어서 구현했다
이는 예상했던 방법이지만 실제로 해본 것은 처음이다
Canvas에서 RenderMode를 World Space로 변경 해주기
원래 기본값은 ScreenSpace인데 World Space로 변경해주면
쉽게 말하면 캔버스 전용 화면에서 게임 화면으로 온거라고 보면 된다
rigidbody의 Body Type을 Kinematic으로 할 때는 isTrigger 체크해주기
예전에도 isTrigger는 줄곧 사용했었는데 보통 부딪히는게 아닌 통과하는 충돌일 때
항상 사용했다. Kinematic을 사용할 때는 체크해주어야 충돌감지가 된다는 건 몰랐다
상대 오브젝트 파괴하기
void OnTriggerEnter2D(Collider2D coll) { if (coll.gameObject.tag == "food") { energy += 1.0f; Destroy(coll.gameObject); } }
***하위 파일들을 찾아서 값 조절하기***
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 { Debug.Log("배가 다 찼어요"); } } }
gameObject.transform.Find("hungry/Canvas/front").transform.localScale = new Vector3(energy / full, 1.0f, 1.0f);
Destroy 함수도 시간차가 가능하다
Destroy(gameObject, 3.0f);
오늘 발생한 문제
중요하게 생각하는 부분
에너지 꽉 차면 옆으로 비키게 하기
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); } } }
x좌표에 따라서 오른쪽에 있으면 오른쪽으로 사라지게 하고
왼쪽에 있으면 왼쪽으로 사라지게 하는 코드인데 배울 점이라고 생각
하위 오브젝트 찾는 법*******
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); } } }
게이지가 모두 차면 hungry는 사라지게, full은 보이게 하기
'개발일지 > 스파르타 코딩클럽 유니티 강의' 카테고리의 다른 글
13일차 르탄이 카드 뒤집기 게임 (0) 2024.04.05 12일차 레벨 구성하기 (1) 2024.04.03 10일차 고양이 밥주기 게임 (0) 2024.04.01 9일차 풍선 애니메이션 전환하기 ( Invoke , Has Exit Time ) (0) 2024.03.29 8일차 최고점수 보여주기 (0) 2024.03.28