我有一个派生自 Pawn 类的 PlayerControl.cpp
类
在那个类(class)中,我有一个方法可以获取 Map 中的所有 Actors
TSubclassOf<AEnemy> ClassToFind;
TArray<AActor*> FoundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), ClassToFind, FoundEnemies);
但是 FoundEnemies 数组总是空的,当我在 BP 中做同样的事情时它可以工作。
有人能告诉我为什么这在 C++ 中不起作用吗?或者如果我做错了,如何做正确的?
最佳答案
最后,我找到了自己的问题的答案
我应该为变量“ClassToFind”赋值
所以添加行 classToFind = AEnemy::StaticClass();
解决了这个问题
TSubclassOf<AEnemy> classToFind;
classToFind = AEnemy::StaticClass();
TArray<AActor*> foundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), classToFind, foundEnemies);
关于c++ - 为什么 GetAllActorsOfClass 返回空?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39406118/