본문 바로가기

새싹 UE5

24-08-08 (충돌, UI, 저장 및 불러오기, 게임오버 )

Collision

충돌체를 만들어 충돌처리 기능 구현 가능.

 

프로젝트 셋팅 - 콜리전 - 새 오브젝트 채널에서 생성 가능

 

 

위와 같이 만들어진 채널을 이용해 각각의 클래스에 충돌 관리해준다.

 

원하는 충돌 처리 구현

 

충돌 시 액터 파괴 

 

 

 

Play Sound && Spawn Emitter

원하는 위치에서 소리 및 이펙트를 생성 가능하다.

 

충돌 시 주의 사항

충돌 이후에 삭제된 액터와의 객체를 참조하거나 삭제 이후 로직이 존재한다면 에러가 난다.

예외처리 및 삭제는 항상 맨 마지막에 실행한다.  

 


 

점수 UI 와 GameMode

 

점수를 보여줄 UI와 점수를 관리하는 게임모드. 점수와 같은 게임의 규칙과 같은 변수들은 게임모드가 직접 관리 하는 것이 일반적이다.

 

 

UserWidget 을 상속 받아 생성한 블루프린트 위젯 클래스

 

 

 

 

점수를 UI에 보이게 하기위해 점수를 UI에 가져오는 바인딩 함수를 작성한다.

 

 

 

점수 증가 함수

점수를 증가하는 함수를 GameMode 에서 만들고 난 후에 Bullet 이 적을 죽일때마다 증가시킨다.

 

Bullet 에서 적을 죽일때 점수를 증가시킨다.

 

 

게임 데이터의 저장과 불러오기

Save and Load 는 UE에 SaveGame 클래스에 기능이 있다.

 

 

 

 

SaveGame 클래스에 저장하고 싶은 데이터와 맞는 자료형의 변수를 생성한다.

 

게임모드에서 SaveGame 클래스를 이용하여 원하는 데이터를 저장하는 함수를 만든다.

 

데이터를 로드하는 함수도 만들어 준다. 다만, 게임을 맨 처음 할 때는 로드할 데이터 슬롯이 없으니 예외처리는 필수

 

게임 시작시 로드된 데이터를 가져온다.

 

 

 

Score 를 증가할 때 최고 기록이 갱신되면 최고 기록을 다시 저장한다.

 

 

 

 

최고 기록이 계속 유지되는 것을 확인할 수 있다.

 

 

게임 오버

 

게임 오버 위젯을 만든다.

 

재시작 및 게임 종료에 따른 함수를 호출한다.

 

 

 

적이 플레이어를 죽이면 게임오버 위젯을 생성한다.