如何在 运行 时间内分配组件名称?

How to assign component name during run-time?

他,

在下面的代码中,我将 StaticMeshComponent 名称指定为 "StaticMeshComponentCOMP1, StaticMeshComponentCOMP2"。 N分量效率不高

for (int32 i = 0; i < 6; i++)
{
  StaticMeshComponent[i] = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMeshComponentCOMP1"));
  StaticMeshComponent[i] = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMeshComponentCOMP2"));
// more code here
    }

所以我尝试将 StaticMeshComponent 名称指定为 StaticMeshComponentCOMP 和 'i',如下所示,但无法实现结果。

for (int32 i = 0; i < 6; i++)
{
     StaticMeshComponent[i] = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMeshComponentCOMP" + '%i'));
}

提前感谢您的帮助

您必须将您的姓名创建为单独的 FString 变量。然后 FString 有几个追加函数,例如AppendInt().

FString name = FString(TEXT("StaticMeshComponentCOMP"));
name.AppendChar('-');
name.AppendInt(i);