1.3 - 로그 메시징 추가

게임에 로그 메시징 추가법을 배워봅니다.

Windows
MacOS
Linux

프로젝트에 코드 추가를 시작하기 좋은 방법은, FPSGameMode 에 로그 메시지를 추가하는 것입니다. 로그 메시지는 개발 도중 코드를 점검하고 디버깅하기에 정말 좋습니다. 이 글에서는, 로그 메시지를 사용하여 언리얼 엔진에 기본 제공되는 기본 Game Mode 가 아닌, FPSGameMode 가 실제 사용중인지 점검해 봅니다.

FPSProjectGameMode 헤더 파일

  1. Solution Explorer 에서 FPSProject > Source > FPSProject 를 펼칩니다.

    InterfaceFile.png

  2. FPSProjectGameMode.h 파일을 더블클릭하여 FPSGameMode 클래스의 헤더 파일을 엽니다.

  3. 클래스 선언은 다음과 같을 것입니다:

    UCLASS()
    class FPSPROJECT_API AFPSGameMode : public AGameModeBase
    {
        GENERATED_BODY()
    };
  4. AFPSProjectGameMode 생성자 선언 아래 다음과 같은 함수 선언을 추가합니다:

    virtual void StartPlay() override;

    이 함수 선언은 (AActor 클래스에서 상속된) StartPlay() 함수를 덮어써서 게임플레이가 시작되면 로그 메시지를 출력하도록 할 수 있습니다.

  5. FPSProjectGameMode.h 는 다음과 같을 것입니다:

    // Fill out your copyright notice in the Description page of Project Settings.
    
    #pragma once
    
    #include "GameFramework/GameModeBase.h"
    #include "FPSProjectGameMode.generated.h"
    
    /**
     * 
     */
    UCLASS()
    class FPSPROJECT_API AFPSProjectGameMode : public AGameModeBase
    {
        GENERATED_BODY()
    
        virtual void StartPlay() override;
    };
  6. Visual Studio 에서 헤더 파일을 저장합니다.

FPSProjectGameMode CPP 파일

  1. Solution Explorer 에서 FPSProjectGameMode.cpp 파일을 찾습니다 (FPSProject > Source > FPSProject).

    ImplementationFile.png

  2. FPSProjectGameMode.cpp 에 더블클릭하여 FPSGameMode 클래스에 대한 구현 파일을 엽니다.

  3. AFPSProjectGameMode 생상자 아래 다음과 같은 StartPlay() 함수 코드를 추가합니다.

    void AFPSProjectGameMode::StartPlay()
    {
        Super::StartPlay();
    
        if (GEngine)
        {
            // 디버그 메시지를 5 초간 표시합니다.
            // "키" (첫 번째 인수) 값을 -1 로 하면 이 메시지를 절대 업데이트하거나 새로고칠 필요가 없음을 나타냅니다.
            GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameMode!"));
        }
    }

    StartPlay() 가 이제 게임플레이가 시작되면 화면에 노랑색으로 새로운 디버그 메시지 (Hello World, this is FPSGameMode!) 를 5 초간 출력합니다.

  4. FPSProjectGameMode.cpp 는 이제 다음과 같을 것입니다:

    // Fill out your copyright notice in the Description page of Project Settings.
    
    #include "FPSProject.h"
    #include "FPSProjectGameMode.h"
    
    void AFPSProjectGameMode::StartPlay()
    {
        Super::StartPlay();
    
        if (GEngine)
        {
            // 디버그 메시지를 5 초간 표시합니다.
            // "키" (첫 번째 인수) 값을 -1 로 하면 이 메시지를 절대 업데이트하거나 새로고칠 필요가 없음을 나타냅니다.
            GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameMode!"));
        }
    }
  5. Visual Studio 에서 CPP 파일을 저장합니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback