为什么GetAllActorsOfClass返回空?

时间:2016-09-09 07:29:25

标签: c++ unreal-engine4 unreal-development-kit unreal-blueprint

我有一个PlayerControl.cpp类派生自Pawn类

在该课程中,我有一种方法可以在Map中获取所有Actors

TSubclassOf<AEnemy> ClassToFind;
 TArray<AActor*> FoundEnemies;
 UGameplayStatics::GetAllActorsOfClass(GetWorld(), ClassToFind, FoundEnemies);

但是FoundEnemies数组总是空的,当我在BP中做同样的事情时它会起作用。

有人可以告诉我为什么这在C ++中不起作用?或者如果我做错了,怎么做正确?

1 个答案:

答案 0 :(得分:2)

最后,我找到了自己问题的答案

我应该为变量&#34; ClassToFind&#34;分配一个值。 因此,添加第classToFind = AEnemy::StaticClass();行修复了问题

TSubclassOf<AEnemy> classToFind;
    classToFind = AEnemy::StaticClass();
    TArray<AActor*> foundEnemies;
    UGameplayStatics::GetAllActorsOfClass(GetWorld(), classToFind, foundEnemies);