版权声明:本文为博主原创文章,转载请注明出处哦http://blog.csdn.net/a359877454 https://blog.csdn.net/a359877454/article/details/80610275
一般UE4里我们产生Actor使用SpawnActor来产生实例
比如:
SpawnActor(Actor::StaticClass(),FTransform(),FActorSpawnParameters());
但是这种只适用于默认构造函数的情形,当我们需要使用带参构造函数传参数进去时这种方法就不适用了。
此时需要UGameplayStatics::BeginDeferredActorSpawnFromClass()函数,将需要传进去的参数在产生的actor调用自定义的init()函数,然后使用UGameplayStatics::FinishSpawningActor()来结束完成spawn.
示例:
//产生acotor开始
ALandscapeSample*landSample = Cast<ALandscapeSample(UGameplayStatics::BeginDeferredActorSpawnFromClass(this, ALandscapeSample::StaticClass(), spawnTransform));
//初始化传参
landSample->InitXY(xDelta, yDelta);
//产生阶段结束
UGameplayStatics::FinishSpawningActor(landSample, spawnTransform);