UE C++头文件含义+宏作用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #pragma once #include "CoreMinimal.h" #include "GameFramework/GameModeBase.h" #include "MyProject2GameModeBase.generated.h" UCLASS () class MYPROJECT2_API AMyProject2GameModeBase : public AGameModeBase{ GENERATED_BODY () };
创建默认类 在 Gamemode
的头文件里包含其他头文件、声明构造函数,在cpp中实现构造函数,创建默认类
1 2 3 4 5 6 7 8 AMyGameMode::AMyGameMode () { DefaultPawnClass = AMyPawn::StaticClass (); PlayerControllerClass = AMyPlayerController::StaticClass (); GameStateClass = AMyGameState::StaticClass (); PlayerStateClass = AMyPlayerState::StaticClass (); HUDClass = AMyHUD::StaticClass (); }
重写BeginPlay\Tick\EndPlay 在 GameMode.h
中的类中添加
1 2 3 4 5 6 7 public : virtual void BeginPlay () override ; virtual void Tick (float DeltaTime) override ; virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override ;
在 GameMode.cpp
中实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 void AMyGameMode::BeginPlay () { Super::BeginPlay (); } void AMyGameMode::Tick (float DeltaTime) { Super::Tick (DeltaTime); } void AMyGameMode::EndPlay (const EEndPlayReason::Type EndPlayReason) { Super::EndPlay (EndPlayReason); }
打印日志/屏幕上打印 1 2 3 4 5 6 7 8 9 10 UE_LOG (LogTemp, Error, TEXT ("My name is ok" ));UE_LOG (LogTemp, Warning, TEXT ("My name is ok" ));UE_LOG (LogTemp, Display, TEXT ("My name is ok" ));GEngine->AddOnScreenDebugMessage (-1 , 5.0f , FColor::Red, TEXT ("I love ws" ));
启动运行后,窗口—>输出日志
场景中