Как добавить виджет в Unreal Engine - PullRequest
0 голосов
/ 04 апреля 2020

Как добавить виджет на экран в Unreal Engine? По какой-то причине переменная blackLinesWidgetClass всегда равна нулю.

    FStringClassReference blackLinesWidgeClasstRef(TEXT("WidgetBlueprint'/Game/Blueprints/UI/blackLines.blackLines'"));
    UClass* blackLinesWidgetClass = blackLinesWidgeClasstRef.TryLoadClass<UUserWidget>();
    if (blackLinesWidgetClass)
    {
        UUserWidget* blackLinesWidget = CreateWidget<UUserWidget>(this->GetGameInstance(), blackLinesWidgetClass);
        if (blackLinesWidget)
            blackLinesWidget->AddToViewport();
    }

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Это сработало для меня

UPROPERTY(EditAnywhere) TSubclassOf<UUserWidget> widgetBlackLines;
UUserWidget* widgetBlackLinesInstance;

. cpp

void AAct_31::BeginPlay()
{
    widgetBlackLinesInstance = CreateWidget<UUserWidget>(GetWorld(), widgetBlackLines);
    widgetBlackLinesInstance->AddToViewport();
}
0 голосов
/ 05 апреля 2020

Похоже, UE4 не загружает класс успешно из указанного вами пути ссылки на класс. Попробуйте добавить _C здесь: UI/blackLines.blackLines_C'".

...