Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- https://ji-han.tistory.com/
- https://vetenir.tistory.com/
- https://hjmag1120.tistory.com/
- 태어난김에 보스까지
- 스파르타코딩클럽
- https://eo-oe.tistory.com/
- https://mynameiskgws.tistory.com/
- 이리5조
Archives
- Today
- Total
info8995 님의 블로그
🎯오늘의 TIL(Today I Learned)-2025년 2월 21일 🎯 본문
📌 1. FPSCharacter 코드 개선 및 정리
- 기존 FPSCharacter 클래스를 유지하면서 주석 추가 및 구조 정리
- 블루프린트에서 Health 값에 접근할 수 있도록 BlueprintCallable 적용
✅ 주요 변경 사항
- 주석 추가: 가독성을 위해 각 함수에 역할 설명 추가
- 코드 정리: 필요 없는 코드 제거 및 함수 순서 정리
- BlueprintCallable 추가: 블루프린트에서 IsAlive(), TakeDamage() 사용 가능하도록 변경
cpp
복사편집
UFUNCTION(BlueprintCallable) virtual bool IsAlive() const override;
cpp
복사편집
UFUNCTION(BlueprintCallable, Category = "Character Stats") void TakeDamage(float DamageAmount) override;
📌 2. 블루프린트에서 체력(Health) 값 가져오기
- 목표: 애니메이션 블루프린트에서 Health 값 활용
- 방법:
- Get Owning Actor → Cast To FPSCharacter → Get Health
- Health 값을 블루프린트 변수에 저장하여 활용
⚠️ 해결한 오류
- Cast To Character를 사용했을 때 Health 변수 접근 불가 → Cast To FPSCharacter로 변경하여 해결
📌 3. 사망 처리 로직 개선
- 사망 시 즉시 삭제하는 것이 아닌, 일정 시간 후 삭제
- 사망 애니메이션 후 삭제 가능하도록 구현
cpp
복사편집
void AFPSCharacter::Die() { if (!bIsAlive) return; UE_LOG(LogTemp, Warning, TEXT("Character has died.")); bIsAlive = false; // 일정 시간 후 캐릭터 삭제 GetWorld()->GetTimerManager().SetTimer( DeathTimerHandle, this, &AFPSCharacter::DestroyCharacter, 3.0f, // 3초 후 삭제 false ); }
📌 4. 최종 코드 구성
✅ FPSCharacter.h 정리
✅ FPSCharacter.cpp 내 함수 정리 및 블루프린트 활용 가능하도록 변경
✅ 블루프린트에서 체력 값 가져오기 성공
✅ 사망 후 일정 시간 후 삭제 구현 완료
📌 오늘 배운 점
- 블루프린트에서 C++ 변수 활용하는 방법
- 블루프린트 캐스팅 오류 해결 (Character vs FPSCharacter)
- C++에서 타이머(SetTimer)를 활용한 지연 삭제
- 코드 가독성 향상을 위한 주석 및 정리 방법
📌 🔥 마무리: 이제 애니메이션 블루프린트에서 Health 값에 따라 사망 애니메이션 적용 가능! 🎮💡
⚡️ 다음 목표: 체력 값이 50% 이하일 때 다른 애니메이션 실행시키기 🚀
'TIL(Today I Learned) > C++' 카테고리의 다른 글
| 코테 풀이 (0) | 2025.05.28 |
|---|---|
| 코딩 테스트 문제 분석 & 시간 복잡도 이해 (0) | 2025.02.10 |
| TIL: find, map, replace 사용법 (0) | 2025.01.29 |
| 28일차(형변환과 순수 가상 함수) (0) | 2025.01.24 |
| 27일차(코딩테스트 문제풀이) (0) | 2025.01.23 |