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

时间:2015-04-14 13:12:52

标签: c++ unreal-engine4

HeJ小鼠,

在下面的代码中,我已将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,其中&#39; i&#39;如下所示,但无法实现结果。

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

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

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