美文网首页
UE UMG相关问题记录

UE UMG相关问题记录

作者: SilenceTT | 来源:发表于2022-07-09 14:25 被阅读0次

1. 上面初始化函数必须加Super::否则Tick函数不执行:或者其他莫名错误!!!

image.png

2. UI中获取鼠标键盘输入键,必须加以下代码 然后重写NativeOnPreviewKeyDown函数,否则重写不生效!!!

image.png

3. Actor类添加tick函数必须在构造方法里面添加以下代码才生效

image.png

4. 剪切掉超出父类尺寸部分,可以用于放大功能提升显示精度而不影响整个控件的尺寸,默认不剪切Inherit

image.png

5. 当某个类似按钮类型的在游戏中出现无法点击情况,先查看是不是有其他控件遮挡住了或者将按钮的Zorder设大

image.png

6. UI部件保证其他地方可以获取调用

image.png

7. UI保证屏幕尺寸不影响部件的相对位置

image.png

8. UI不改变边缘部分进行放大缩小等

image.png

9. UI要使某个图片靠边 且改变游戏窗口尺寸不影响UI部件的位置,可以调节锚点。

image.png image.png

10. 关于Button

a. 假设该button在UE4 UI中已编辑

.h文件定义:

    UButton* PuGongButton;
    UFUNCTION()
        void OnPuGongButtonPress();
    UFUNCTION()
        void OnPuGongButtonRelease();

NativeConstruct函数中:

//查找Btn_pugong
    PuGongButton = FindWidget<UButton>("Btn_pugong");
    //button按下-弹起事件
    FindButtonAndBindPressed("Btn_pugong", "OnPuGongButtonPress");
    FindButtonAndBindReleased("Btn_pugong", "OnPuGongButtonRelease");

b. 动态创建button

if (CvsRootPanel)
{
    if (WidgetTree)
    {
        //创建建筑标识按钮
        UButton * SceneryBtn = WidgetTree->ConstructWidget<UButton>(UButton::StaticClass());
        if (SceneryBtn)
        {
            UPanelSlot* Slot = CvsRootPanel->AddChild(SceneryBtn);
            if (UCanvasPanelSlot* cpSlot = Cast<UCanvasPanelSlot>(Slot))
            {
                //建筑默认尺寸
                //cpSlot->SetSize(FVector2D(20, 20));
                cpSlot->SetPosition(FVector2D(PanwInMiniMapLocX + MiniMapPosOffsetX, PanwInMiniMapLocY + MiniMapPosOffsetY));
            }
            //创建按钮显示的图片
            UImage* ImgScenery = WidgetTree->ConstructWidget<UImage>(UImage::StaticClass());
            if (ImgScenery)
            {
                UPanelSlot* Slot = SceneryBtn->AddChild(ImgScenery);
                ImgScenery->SetBrushFromTexture(BuildingIcon, false);

            }
        }
         }
}

11. 资源相关的变量需要加uproperty()

    UPROPERTY()
    UTexture2D* TaskIcon = nullptr;

12. UI字体描边

image.png image.png

字体选择如果没有 可以先查看打开,然后就有了

image.png image.png

13. 可自由设置样式的字体

  • 在ui中添加rich text block
image.png
  • 创建data table
image.png
  • 选择richtextstylerow
image.png
  • 点击add 添加
image.png
  • 双击重新命名
image.png
  • 这儿设置了7种不同的颜色,设置字体相关属性
image.png
  • 回到UI界面 设置Text Style Set
image.png
  • 字体内容格式<></>
image.png
  • 效果:
image.png

14. UI添加动画方式

image.png

相关文章

网友评论

      本文标题:UE UMG相关问题记录

      本文链接:https://www.haomeiwen.com/subject/thhpbrtx.html