와와

[언리얼 ] 5. C++ 클래스 본문

개발/언리얼

[언리얼 ] 5. C++ 클래스

정으주 2022. 4. 21. 00:06

C++ 클래스 생성을 하면 .cpp, .h 파일 생성

( 부모클래스: Actor )

 

MyActor.cpp

PrimaryActorTick.bCanEverTick : 프레임 함수가 매 프레임마다 실행될 수 있도록 함

Super::BeginPlay(): 부모 클래스의 BeginPlay 호출

Super::Tick(): 부모 클래스의 Tick 호출

 

 

MyActor.h

GENERATED_BODY() : 모든 언리얼 클래스에 포함되어 있는 필수 매크로

BeginPlay(): 시작할 때 호출,

TIck(): 매 프레임마다 호출

 

코드 작성 > 클래스 드래그 앤 드롭 ( 인스턴스 화 ) > 컴파일 > 실행

 

 

 

1. 로그 출력 : UE_LOG()

 

UE_LOG(LogTemp, Log, TEXT(""));

UE_LOG 파라미터

 

1. 로그 카테고리 ( 출력된 로그가 어떤 시스템에서 발생했는지 알려줌 ) 

    LogTemp: 카테고리에 속하지 않고 그냥 임시로 띄우는 로그

2. 출력되는 로그의 중요도 ( 7가지 수준이 있음 )

3. 로그에 남길 메세지

 

 

로그 보는 법

 

창 > 개발자 툴 > 출력로그

 

 

2. 함수 생성 ( 블루 프린트에서 사용 )

 

2.1 두 정수를 더하는 함수

 

1. MyActor.h

UFUNCTION(BlueprintCallable) // 다음 함수를 블루 프린트에서 사용 가능
int AddNum(int a, int b) // 생성할 함수

 

2. MyActor.cpp

int AMyActor::AddNum(int a, int b)
{
	int c = a + b;
    UE_LOG(LogTemp, Log, TEXT("%d + %d = %d"), a, b, c);
    
    return c;
}

 

3. 블루 프린트

 

실행 후 로그창

 

 

 

2.2 큐브를 움직이는 함수

새클래스: MovingCube

 

 

MovingCube.h

 

MovingCube.cpp

 

컴파일 > 생성한 클래스 드래그 앤 드롭 ( 인스턴스화 ) > 컴포넌트 추가: 큐브 ( 형체 주기 ) >  블루 프린트 창 열기

 

위와 같은 방법으로 각 Input 방향키에 적용

'개발 > 언리얼' 카테고리의 다른 글

[언리얼 ] 6. 가상환경 기본 세팅, 인터랙션  (1) 2022.04.21
[언리얼 ] 3~4. 블루프린트  (0) 2022.04.20
언리얼 단축키  (0) 2022.04.20
[언리얼 ] 1~2. 기본  (1) 2022.04.14