[스탯매니저] 공격하는 캐릭터 정보인지, 공격당하는 캐릭터 정보인지 헷갈려요.
326
2 câu hỏi đã được viết
스탯매니저 강의에서 질문을 드려요.
UE_LOG(LogTemp, Log, TEXT("Hit Actor : %s"), *HitResult.Actor->GetName());
위의 로그에서, HitResult.Actor를 어떤 걸로 찍는지 확인했더니, BP_MyCharacter_2였고, 언리얼에서 확인해보니, 이 라벨은 때리는 캐릭터가 아니라 공격당하는 캐릭터인데 제가 제대로 이해한 게 맞는지 모르겠어요.HitResult.Actor->TakeDamage(Stat->GetAttack(), DamageEvent, GetController(), this);에서, 첫번째 매개변수가 의미하는 게 DamageAmount인데, 여기에서 Stat이 의미하는 게 공격하는 캐릭터의 Stat인가요? 그래야 Stat->GetAttack()을 했을 때 DamageAmount가 나올 것 같아서요.
위에 따라서 TakeDamage 함수가 호출될텐데,
float AMyCharacter::TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser){
Stat->OnAttacked(DamageAmount);
return DamageAmount;
}
위에서 정의한 함수에 의하면 Stat의 OnAttacked가 호출되는데, 이때의 Stat은 공격당하는 캐릭터의 Stat이 맞나요?같은 MyCharacter.cpp 파일 내에서 어떤 순간에는 Stat이 공격하는 캐릭터의 Stat이고, 어떤 순간에는 Stat이 공격당하는 캐릭터의 Stat으로 해석이 되어서 헷갈려요.
Câu trả lời 1
0
파란색이 공격자, 빨간색이 피해자입니다.
TakeDamage는 피해자 쪽에서 실행되니, 거꾸로 Stat이 피해자의 Stat이 되겠죠!
class는 설계도에 비유할 수 있고
MyCharacter라는 객체는 공격자도, 피해자도 될 수 있으니
둘의 기능이 같이 있어 헷갈릴 수 있지만
문맥과 호출 경로를 생각하면서 공격자/피해자를 생각하시면 됩니다
(아니면 단순히 함수 이름으로 구분해도 되겠죠)
강사님 질문 있습니다.
1
429
0
언리얼엔진 크래시날때
1
1563
1
캐릭터를 추가적으로 스폰하고 싶습니다
0
535
1
언리얼에서 WSA 함수 사용이 가능한가요?
0
541
1
캐릭터 Blueprint 받아오기 실패
0
565
2
UE5 generated.h 파일 생성이 안돼요
0
1419
1
애니메이션 블루프린트 오류
0
840
1
생성자 ConstructorHelpers질문 있습니다.
0
513
1
24분쯤에 UE시리즈
0
365
1
Weak_ptr질문
0
247
0
13분 질문
0
326
1
UE_LOG에 빨간색 밑줄이 쳐집니다.
0
361
0
Mesh와 MESH
0
347
1
template UCLASS 관련 질문 드립니다.
0
1202
1
생포인터 사용
0
294
1
TWeakObjectPtr
0
521
1
LOG출력 컴파일은 되는데 플레이시 Error가 발생하며 튕깁니다.
0
489
1
postinitializecomponents
0
244
1
ue4 -> ue5 코드 변경
1
1945
4
애니메이션 기초 강의 질문입니다.
0
250
1
OnAttacked(float DamageAmount) 함수 질문
0
233
1
소켓 실습 일부 오버랩으로 검이 주워지지 않습니다
0
381
2
인텔리젼스? 비츄얼어시스트? 질문입니다
1
271
2
RootComponent에 무언가 할당을 해줘야 하지 않나요?
0
389
1

