1.在头文件内写入回调函数
Destroyed函数并不会在内存中消亡 只会在世界中销毁
.h文件
//通知 / 回调函数
virtual void Destroyed();
virtual void EndPlay(EEndPlayReason::Type mytype)
.cpp文件
void AMyTestActor::Destroyed()
{
//这里写回调功能即可
}
2.演示案例
先在GameMode里生成一个Actor类
auto TestActor = GetWorld()->SpawnActor<AMyTestActor>(AMyTestActor::StaticClass(),FVector::ZeroVector,FRotator::ZeroRotator);
TestActor->SetLifeSpan(5.0); //设置生命
调用回调
void AMyTestActor::Destroyed()
{
//当调用销毁事件后打印个红色信息
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Successed Destroyed NPC :"));
}
效果↓
可以看见我们先生成了测试类
销毁时调用了Destroyed事件 我们事件里写的功能是打印个信息 可以发现这里打印了个红色信息 成功调用了该事件
Destroyed函数并不会在内存中消亡 只会在世界中销毁