본문 바로가기
UE5 : Paper 2D (Blueprint)/이동과 전투

[UE5 : Paper2D(BP) - 이동과 전투] Chapter 03. 상속 구조 설계

by song.ift 2024. 1. 5.

GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/c2ba4a6a28363b8ee4add29bd0b09f94b44d077c

 

상속 구조 설계 · developeSHG/UE5-Paper2D@c2ba4a6

hokyung.song committed Jan 5, 2024

github.com

 

 

 


 

 

요소를 늘릴 때마다 온갖 클래스가 나올 수 있는데, 그때마다 클래스를 복붙해서 늘리는 방식은 올바른 관리방법이 아니다. 그래서 관리할 때, 결국에 객체 지향에서 가장 핵심이 됐던 부분 중 하나인 상속성을 이용하는 방법이다.

공용 기능은 상위로 올려서 부모 클래스를 관리하는 것이다.

 

RPG 게임에서는 일반적으로 기사, 궁수, 법사 등등을 뭉쳐서 플레이어라는 클래스를 상위 클래스를 만든다.

몬스터들도 마찬가지로 모든 몬스터들을 몬스터라는 상위 클래스로 만들어준 다음, 플레이어랑 몬스터를 Creature와 같은 공통적인 클래스로 묶어서 관리하는 경우가 많다.

그런 계층구조나 여러가지 방법이 있는데 그런걸 고려해야 한다. 

 

Update Logic 함수의 코드는 이동과 관련된 코드였는데, GetMoveRight와 GetMoveUp을 이용해서 Add Movement Input을 이용해 내가 이동하는 방향을 설정했다. 근데 GetMoveRight와 GetMoveUp은 키보드를 누르고 있는 것에 따라 움직이는 것이라 이 코드는 플레이어에게만 적용이 되는 코드고, 몬스터는 인공지능을 이용해서 자신이 어떤 방향으로 이동하는 지를 선택을 할 것이다. 즉 디렉션이라는 값을 이용해서 조절해야되기 때문에, 플레이어에 의존적인 코드를 넣으면 안된다. (아래로 교체)

댓글