Actor 클래스 코드 기본 구조

김재혁·2025년 1월 20일
0
#pragma once 
#include "CoreMinimal.h"
#include "GameFramework/Actor.h" 
#include "Item.generated.h"

UCLASS()
class SPARTAPROJECT_API AItem : public AActor
{
		GENERATED_BODY()
	
public:
		// 생성자
		AItem();

protected:
	  // 액터가 월드에 '배치된 직후' 한 번만 호출
		virtual void BeginPlay() override;
		// 매 프레임마다 자동으로 호출
		virtual void Tick(float DeltaTime) override;
};

.h파일 상단

  • #pragma once : 컴파일 시 한번만 처리하는 지시어.
  • #include "CoreMinimal.h" : 언리얼 엔진의 기본 타입(FString, TArray 등)과 매크로(UE_LOG등), 각종 유틸 함수가 정의되어 있음.
  • #include "GameFramework/Actor.h" : AActor를 상속받기 위한 헤더 파일.
  • #include "Item.generated.h" : 리플렉션 시스템에 필요한 코드를 생성하기 위한 매크로로 항상 마지막에 위치.

.h파일 클래스 선언부

  • UCLASS() : 이 클래스를 언리얼 엔진의 리플렉션 시스템에 인식하도록 하는 매크로
  • class SPARTAPROJECT_API AItem : public AActor : AActor를 상속받아 AItem 클래스를 정의.
    (언리얼 엔진에서는 접두어를 붙이는 것을 권장. Actor - A , Object - U , 구조체 - F , Enum - E 등..
  • SPARTAPROJECT_API : 이 클래스를 모듈 (여기서는 SpartaProject) 외부로 Export하기 위한 매크로. DLL 등으로 빌드할 때 필요한 선언.
  • GENERATED_BODY() : 리플렉션 데이터를 자동으로 생성하기 위한 언리얼 엔진의 매크로.
  • AItem() : 생성자.
  • BeginPlay() : 엑터가 월드에 완전히 배치된 뒤, 게임이 플레이 상태로 시작할 때 한 번 호출.
  • Tick(float DeltaTime) : 매 프레임마다 자동으로 불림.

0개의 댓글