最简单的 UE 4 C++ 教程 —— 获取场景中小兵的个数【九】
【摘要】
【原教程是基于 UE 4.18,我是基于 UE 4.25】
英文原地址
接上一节教程,本教程将介绍 —— 如何在一个场景中获得小兵的总数。创建一个新的 C++ Actor 子类,并将其命名为 GetNumberOfPawns 。
头文件中不需要做任何事情,下面是最终的头文件。
GetNumberOfPawns.h
#...
【原教程是基于 UE 4.18,我是基于 UE 4.25】
接上一节教程,本教程将介绍 —— 如何在一个场景中获得小兵的总数。创建一个新的 C++ Actor 子类,并将其命名为 GetNumberOfPawns 。
头文件中不需要做任何事情,下面是最终的头文件。
GetNumberOfPawns.h
-
#pragma once
-
-
#include "CoreMinimal.h"
-
#include "GameFramework/Actor.h"
-
#include "GetNumberOfPawns.generated.h"
-
-
UCLASS()
-
class UNREALCPP_API AGetNumberOfPawns : public AActor
-
{
-
GENERATED_BODY()
-
-
public:
-
// Sets default values for this actor's properties
-
AGetNumberOfPawns();
-
-
protected:
-
// Called when the game starts or when spawned
-
virtual void BeginPlay() override;
-
-
public:
-
// Called every frame
-
virtual void Tick(float DeltaTime) override;
-
-
};
接下来,在我们的 BeginPlay() 函数中添加 GetWorld()->GetNumPawns() 。所有 actor 都可以访问 GetWorld() 函数。你可以在这里看到 UWorld 的所有的函数。
下面是我们最终的 .cpp 文件。
-
#include "GetNumberOfPawns.h"
-
-
-
// Sets default values
-
AGetNumberOfPawns::AGetNumberOfPawns()
-
{
-
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
-
PrimaryActorTick.bCanEverTick = true;
-
-
}
-
-
// Called when the game starts or when spawned
-
void AGetNumberOfPawns::BeginPlay()
-
{
-
Super::BeginPlay();
-
-
int32 MyPawns = GetWorld()->GetNumPawns();
-
-
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, FString::Printf(TEXT("Number of Pawns: %d"), MyPawns));
-
-
}
-
-
// Called every frame
-
void AGetNumberOfPawns::Tick(float DeltaTime)
-
{
-
Super::Tick(DeltaTime);
-
-
}
运行效果如图

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。
原文链接:panda1234lee.blog.csdn.net/article/details/119121648
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)