P2441M 2022-11-05 14:36 采纳率: 16.7%
浏览 19
已结题

如何把想要的Slate类型添加到视口上

我学习了Unreal Engine的C++一个月左右,有个问题不太明白:
我想要创建一个叫做GameManager的Actor,它有一个公共变量,我可以传入我想要添加的Slate类型,再在Begin中将其添加到视口上。但是!!众所周知,UClass以及TSubclassOf都只能传入以UObject为父类的类型,那我要怎么实现呢??求各位解答!

  • 写回答

2条回答 默认 最新

  • Jackyin0720 2022-11-12 19:20
    关注

    大概的思路,不知对不对,多包涵,一起学习:
    【添加slate到视口代码】

    void UWDBJNaturalItem::CreateNorthOffsetWidgetToScreen(UUserWidget* InWidget)
    {
        if (InWidget==nullptr)
        {
            return;
        }
        FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>("LevelEditor");
        TSharedPtr<SLevelViewport> ActiveLevelViewport = LevelEditorModule.GetFirstActiveLevelViewport();
    
        ActiveLevelViewport->AddOverlayWidget(InWidget->TakeWidget());
    
    }
    
    评论

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 赞助了问题酬金15元 11月11日
  • 创建了问题 11月5日