C++だけでTextBlockを追加(生成)・配置についての質問です。
UUserWidgetを継承したC++クラスで、
UCanvasPanel* TestCanvas = (UCanvasPanel*)(this->GetWidgetFromName(FName("CanvasPanel")));
UTextBlock* TestText = NewObject<UTextBlock>();
TestText->SetText(FText::FromString("Test"));
TestCanvas->AddChildToCanvas(TestText);
と行うとCanvasPanelの左上にTextBlockが追加(生成)されます。
ここから、追加したTextBlockを任意の場所に配置する方法がわかりません。
配置についてご存じでしたら回答お願いします。
方法見つけました。
#include "Blueprint/WidgetLayoutLibrary.h"//キャンバスレイアウト
#include "Components/CanvasPanelSlot.h"//配置設定のため
UCanvasPanel* TestCanvas = (UCanvasPanel*)(this->GetWidgetFromName(FName("CanvasPanel")));
UTextBlock* TestText = NewObject<UTextBlock>();
TestText->SetText(FText::FromString("Test"));
TestCanvas->AddChildToCanvas(TestText);//Canvasに追加
UWidgetLayoutLibrary::SlotAsCanvasSlot(TestText)->SetPosition(FVector2D(x, y));
//xとyは整数。これで座標を設定できる。