표준 코드
표준 코드
어떤 클래스를 만들어도 아래와(액터 클래스로 생성하였다.) 같은 헤더 파일이 만들어진다.
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyFirstActor.generated.h"
UCLASS()
class UE4COOKBOOK_API AMyFirstActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyFirstActor();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
paragma once : 반복적으로 참조돼 발생하는 에러들을 방지하는 코드 조각으로 언리얼이 포함 방지를 하는 방법이다.
#UCLASS() : 매크로의 일종으로, 클래스가 언리얼 리플렉션 시스템에 노출돼 있음을 나타낸다. 리플렉션은 가비지 컬랙션되는 객체들의, 참조가 관리되는 실행 시간 동안 객체의 속성을 바꾸고 열거해준다.
#class UE4COOKBOOK_API AMyFirstActor : public AActor : 실제적인 클래스 선언이다. UE4COOKBOOK_API 매크로는 UHT에 의해 생성되고, 프로젝트 모듈의 클래스들이 DLL 안에서 노출돼, 프로젝트가 윈도우에서 제대로 적당하게 컴파일되도록 돕는다.
#GENERATED_BODY() : 언리얼의 타입 시스템이 요구하는 자동으로 생성된 함수들이 포함돼 확정되도록 하는 또 다른 UHT 매크로다.
#PrimaryActorTick.bCanEverTick = true; : 생성자 내부 구현에서, 이 라인은 액터가 매틱마다 업데이트되도록 한다. 모든 액터는 Tick 함수가 있고, 이 부울값은 액터가 한 프레임마다 액터들을 수행할 때 프레임마다 호출될지 여부를 의미한다. 성능 최적화를 위해서 기본값은 비활성화돼 있다.
'언리얼엔진' 카테고리의 다른 글
언리얼 엔진 5 C++ (줌인) (0) | 2023.02.11 |
---|---|
언리얼 엔진 5 C++ (총구 방향대로 움직이기) (1) | 2023.02.04 |
언리얼 엔진 5 C++ (무기 장착 및 교체) (0) | 2023.01.31 |
언리얼 엔진 5 C++ (1인칭 시점 카메라 및 입력을 통한 캐릭터 움직임) (0) | 2023.01.29 |
언리얼 엔진 4 C++ (TSharedPtr, TWeakPtr, TUniquePtr) (0) | 2023.01.26 |