UE Actor 无法调用自己定义的构造函数,这样有时候不是很方便,但是UE里面的 Actor 在生成的时候都会自动调用 BeginPlay,这个等同于构造函数作用,这样只需要在 BeginPlay 之前设置自己需要的参数,这样在 BeginPlay 就可以使用到已经修改的值了。
class AMYctor : public AActor { } // 创建对象指针 AMYctor * pMYctor = Cast<ADTGizmoWidgetBase>(UGameplayStatics::BeginDeferredActorSpawnFromClass(GetWorld(), AMYctor::StaticClass(), FTransform::Identity)); // 直接设置对象的属性,这是自定义添加函数 pMYctor->SetValue(XXXXX); // 完成创建,执行这个以后,系统就会自动调用 BeginPlay UGameplayStatics::FinishSpawningActor(pMYctor, FTransform::Identity);