1편에 이어, Unreal Enigne 4 에서 함수 사용법을 알아보자.
Unreal Engine 에서, 클래스 내의 함수를 만들기 위해선 2가지의 과정을 거쳐야한다.
Ex)
void AMyActor:: CalculateDPS() (반환형, 클래스이름, 함수이름, 괄호와 매개변수) { DamagePerSecon = TotalDamage / DamageTimeInSeconds; }
PostInitProperties : 오브젝트의 프로퍼티가 초기화 될때 호출되는 함수
PostEditProperties : 프로퍼티가 수정 될때 호출되는 함수
함수의 원형 작성.
MyActor.h
public: UFUNCTION(BlueprintCallable, Category="Damage") void CalculateDPS(); virtual void PostInitProperties() override; virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
MyActor.cpp
void AMyActor::PostInitProperties() { Super::PostInitProperties(); CalculateDPS(); } void AMyActor::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) { CalculateDPS(); Super::PostEditChangeProperty(PropertyChangedEvent); }
virtual void - override; : 부모 클래스에서 virtual 키워드를 사용하여 함수를 만들면, 자식 클래스에서 이 함수를 재정의 할 수 있도록 허용하겠다는 의미
BluePrintCallable, Category="" : 블루프린트에서 사용 할 모든 함수에는 카테고리를 할당해줘야 블루프린트에서 정상적으로 작동.
C++ 로 만든 MyActor 에서 우클릭 => Create Blueprint class based on MyActor 를 생성하면,
Blueprint로 변환할수있는 Actor 클래스가 생성할 수 있다.