为什么 GetAllActorsOfClass returns 为空?
Why GetAllActorsOfClass returns empty?
我有一个 PlayerControl.cpp
class 派生自 Pawn class
在 class 中,我有一个方法可以获取 Map
中的所有 Actor
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);
我有一个 PlayerControl.cpp
class 派生自 Pawn class
在 class 中,我有一个方法可以获取 Map
中的所有 ActorTSubclassOf<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);