이 블루프린트의 목표는 플레이어와 몬스터 간의 간단한 전투를 구현하는 것입니다. 각 캐릭터는 체력(Hp
)과 데미지(Damage
) 속성을 가지고 있으며, 입력된 키를 통해 서로 공격하는 이벤트가 트리거됩니다.
Player 클래스와 Monster 클래스의 생성
각각의 클래스를 만들어 Hp
와 Damage
라는 멤버 변수를 생성했습니다.
Hp
는 체력을, Damage
는 공격력을 나타냅니다.
Player 클래스의 예:
Hp = 100
Damage = 10
Monster 클래스의 예:
Hp = 150
Damage = 20
객체 배치
레벨 블루프린트 설정
Event BeginPlay
에서 BP_Player와 BP_Monster를 레퍼런스 변수로 가져옵니다.Hp
, Damage
)을 설정하고, 전투를 트리거할 이벤트를 준비합니다.로직 흐름
Key Pressed 1
이벤트가 실행되면 Monster 객체가 On Damaged
이벤트를 호출합니다.Damage
)이 Player의 체력(Hp
)에서 차감됩니다.BP_Monster의 On Damaged 구현
Is Valid
노드를 사용하여 입력된 객체가 유효한지 확인합니다.Damage
값을 가져와 Player의 체력에서 차감합니다.Hp
가 0보다 작아지는 것을 방지하기 위해 Max(0)
노드를 사용합니다.Print Text
로 화면에 출력합니다.로직 흐름
Key Pressed 2
이벤트가 실행되면 Player 객체가 On Damaged
이벤트를 호출합니다.Damage
)이 Monster의 체력(Hp
)에서 차감됩니다.BP_Player의 On Damaged 구현
Damage
를 Monster의 Hp
에서 차감하며, 역시 Max(0)
로 체력이 음수로 떨어지는 것을 방지합니다.Print Text
로 화면에 출력합니다.On Damaged
이벤트를 가지며, 공격과 방어를 서로 독립적으로 처리합니다.