https://github.com/smarthug/UE4-CPP-Book
CHAPTER 6
- 203p ABCharacter.cpp Tick()
From
SpringArm->RelativeRotation = FMath::RInterpTo(SpringArm->GetRelativeRotation(), ArmRotationTo, DeltaTime, ArmRotationSpeed)
To
SpringArm->SetRelativeRotation(FMath::RInterpTo(SpringArm->GetRelativeRotation(), ArmRotationTo, DeltaTime, ArmRotationSpeed));
- 204p ABCharacter.cpp ViewChange()
From
GetController()->SetControlRotation(SpringArm->RelativeRotation);
To
GetController()->SetControlRotation(SpringArm->GetRelativeRotation());
CHAPTER 8
- 272p 동작하는 4.25.4 버전의 montage UI
- NextAttackCheck 노티파이의 위치가 한 섹션이 끝나는 지점에 가까워질수록 노티파이실행->다음섹션 명령을 내려도 OnMontageEnded 가 실행되서 콤보가 안될 확률이 높다. (출처 - https://blackpinkjisoo.tistory.com/17)
CHAPTER 11
- 358p ABGameInstance.cpp
FROM
ABCHECK(ABCharacterTAble->RowMap.Num()>0);
TO
ABCHECK(ABCharacterTAble->GetRowMap().Num()>0);
CHAPTER 12
- 399p ABAIController.h
FROM
virtual void Possess(APawn* InPawn) override;
virtual void UnPossess() override;
TO
virtual void OnPossess(APawn* InPawn) override;
virtual void OnUnPossess() override;
- 400p ABAIController.cpp
FROM
void AABAIController::Possess(APawn* InPawn)
{
Super::Possess(InPawn);
...
}
void AABAIController::UnPossess()
{
Super::UnPossess();
...
}
TO
void AABAIController::OnPossess(APawn* InPawn)
{
Super::OnPossess(InPawn);
...
}
void AABAIController::OnUnPossess()
{
Super::OnUnPossess();
...
}
- 444p
public:
...
void Attack();
FOnAttackEndDelegate OnAttackEnd;
private:
...
// 원래 선언되어있던 Attack 함수 주석 처리하거나 없애기
/*void Attack();*/
Chapter 13
- 470p
- ... 생략됨 , 기존에 있던거 지우지말기
void AABCharacter::BeginPlay()
{
Super::BeginPlay();
...
}
Chapter 14
- 505,6,7p
ABCharacter.CPP
FROM
bCanBeDamaged = false;
bCanBeDamaged = true;
TO
SetCanBeDamaged(true);
SetCanBeDamaged(false);
- 510p
FROM
void AABAIController::Possess(APawn* InPawn)
{
Super::Possess(InPawn);
}
TO
void AABAIController::OnPossess(APawn* InPawn)
{
Super::OnPossess(InPawn);
}
- 538p
FROM
float AABCharacter::TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser)
{
...
auto ABPlayerController = Cast<AABPlayerController>(EventInstigator);
ABCHECK(nullptr != ABPlayerController, 0.0f);
ABPlayerController->NPCKill(this);
}
TO
float AABCharacter::TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser)
{
...
auto instigator = Cast<AABPlayerController>(EventInstigator);
ABCHECK(nullptr != instigator, 0.0f);
instigator->NPCKill(this);
}
Chapter 15
- 597p
FROM
if (bIsPlayer)
{
auto ABPlayerState = Cast<AABPlayerState>(PlayerState);
}
TO
if (bIsPlayer)
{
auto ABPlayerState = Cast<AABPlayerState>(GetPlayerState());
}
Contribution
[p.68 : 코드 2-4 Fountain.cpp]
아래 이미지의 코드 6줄 제거.
[p.72 : 아래에서 1행]
UPROPERY 매크로->
UPROPERTY 매크로
[p.195 : 7행]
[p.195 : 20행]
[p.204]
[p.207]
애니메이션 시스템 저작->
애니메이션 시스템 제작
[p.210]
클래스 정보->
클래스 세팅
[p.215 : 위에서 12행]
NativeAnimationUpdate 함수를->
NativeUpdateAnimation 함수를
[p.300]
"DebugDrawHelpers.h"->
"DrawDebugHelpers.h"
[p.311]
SetActorCollisionEnabled->
SetActorEnableCollision
[p.358 코드 11-5]
ABCHECK(ABCharacterTable->RowMap.Num() > 0);->
ABCHECK(ABCharacterTable->GetRowMap().Num() > 0);
[p.415 : 2행]
다음의 셋 중 하나의 값을 반환해야 한다.->
다음의 넷 중 하나의 값을 반환해야 한다.
[p.417]
[p.429 3행 내용 추가]
for (auto const& OverlapResult : OverlapResults)
[p.441]
BTTask를 부모로 하는->
BTTaskNode를 부모로 하는
[p.504 : 1행]
[p.520 코드]
auto ABPlayerState = Cast(PlayerState);->
auto ABPlayerState = Cast(GetPlayerState());
[p.539]
파일-현재를 다른 이름으로 저장->파일-현재 레벨을 다른 이름으로 저장
[p.547]
[p.556]
코드 15-5 PlayerState.h->코드 15-5 ABPlayerState.h
[p.557]
코드 15-5 PlayerState.cpp->코드 15-5 PlayerState.h
[p.582]
그림 15-18 프로젝트 세팅->월드 세팅
[p.636: 찾아보기 N]
NativeAnimationUpdate-> NativeUpdateAnimation
- 389p ABCharacter.cpp
- UserWidget(HPBar)의 HP 값이 연동되지 않는 오류
HPBarWidget->InitWidget();
auto CharacterWidget = Cast<UABCharacterWidget>(HPBarWidget->GetUserWidgetObject());
if (nullptr != CharacterWidget)
{
CharacterWidget->BindCharacterStat(CharacterStat);
}
HPBarWidget->InitWidget(); 추가 [참고자료]
소스 코드 중 일부 아래의 github 참고하여 수정.
'언리얼C++게임개발 > 01-1. 4.2->5.2로 에러수정하기' 카테고리의 다른 글
P470 IsPawnControlled()함수 - 전부 controlledPawn이 됨 (0) | 2024.03.04 |
---|