MyActor.h
#pragma once // 防止头文件多次包含
#include "CoreMinimal.h" // 该文件中,包含了很多经常使用到的类的声明,比如FString、Vector、TArray等
#include "GameFramework/Actor.h" // AActor类声明的位置
#include "MyActor.generated.h" // Unreal Header Tool(UHT)生成的,放着反射数据的文件
UCLASS() // 指明该类暴露给反射系统
class COOKBOOK_API AMyActor : public AActor // CookBook_API 由UHT创建,表明类AMyActor是模块COOKBOOK中的类,项目生成后,会在对应的DLL中暴露出来
{
GENERATED_BODY() // 也是由UHT生成的,不知道有什么用…… 说是UE的类型系统需要生成一些东西
public:
// Sets default values for this actor's properties
AMyActor(); // 构造
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override; // 游戏开始后或对象生成后会触发的
public:
// Called every frame
virtual void Tick(float DeltaTime) override; // 每帧都会调用
};
MyActor.cpp
#include "MyActor.h"
// 设置默认值
AMyActor::AMyActor()
{
// 控制Tick函数是否执行,默认执行
PrimaryActorTick.bCanEverTick = true;
}
void AMyActor::BeginPlay()
{
Super::BeginPlay(); // 调用父类的实现
}
// 每帧调用
void AMyActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}