본문 바로가기

게임프로그래밍/실습1

[언리얼 실습] 73. 플레이어가 피해를 입게 하기


목차

  1.  플레이어 피해 입히기

1. 플레이어 피해 입히기

 

플레이어도 피해를 입게 해보자.

 

virtual float TakeDamage(float DamageAmount, struct FDamageEvent const& DamageEvent, class AController* EventInstigator, AActor* DamageCauser) override;

 

에너미에 존재하는 TakeDamge 함수를 가져와 선언하자.

 

float AKnight::TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser)
{
	HandleDamage(DamageAmount);
	return DamageAmount;
}
void ABaseCharacter::HandleDamage(float DamageAmount)
{
	if (Attributes)
	{
		Attributes->ReceiveDamage(DamageAmount);
	}
}

 

위와 같은 구조로 데미지를 입게 할 수 있다.

 

 

 

컴파일하고 확인하면 에너미한테 맞을때 마다 체력이 다는 것을 볼 수 있다.

 

물론 현재는 체력이 다 떨어진다고 해서 특별한 일이 있는 것도 아니고 애초에 체력 자체도 인게임 내에서는 보기가 힘들다. 이 다음부터 이러한 것들을 고치도록 해보자