虚幻引擎Actor不能销毁的问题

今天,在调试虚幻引擎C++脚本的时候,遇到了一个奇怪的问题,无论调用Destroy()函数,还是调用SetLifeSpan(5.f),设置actor的生存时间,actor都不能销毁,并且Destroy函数始终返回false。
折腾了几个小时,终于发现问题所在,原来是BeginPlay这个回调函数的问题

void ADodgeballProjectile::BeginPlay()
{
	SetLifeSpan(5.f);
}

我一开始把Super::BeginPlay();这行代码给去掉了,加上就好了

void ADodgeballProjectile::BeginPlay()
{
	Super::BeginPlay();
	SetLifeSpan(5.f);
}

这样actor就能正常销毁。
说明,虚幻引擎里面的这些回调函数,如果是重写父类的方法,尽量在第一行调用父类的逻辑。

你可能感兴趣的:(虚幻引擎,虚幻,游戏引擎)