我有一个PlayerControl.cpp
类派生自Pawn类
在该课程中,我有一种方法可以在Map中获取所有Actors
TSubclassOf<AEnemy> ClassToFind;
TArray<AActor*> FoundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), ClassToFind, FoundEnemies);
但是FoundEnemies数组总是空的,当我在BP中做同样的事情时它会起作用。
有人可以告诉我为什么这在C ++中不起作用?或者如果我做错了,怎么做正确?
答案 0 :(得分:2)
最后,我找到了自己问题的答案
我应该为变量&#34; ClassToFind&#34;分配一个值。
因此,添加第classToFind = AEnemy::StaticClass();
行修复了问题
TSubclassOf<AEnemy> classToFind;
classToFind = AEnemy::StaticClass();
TArray<AActor*> foundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), classToFind, foundEnemies);