由于UE4在默认情况下会OpenLevel会将当前Level创建的Widget从ViewportClient中移除,所以默认的UserWidget会随着切换关切而消失。

gif过大自行下载查看

有的时候我们可能需要使用一个全局的按钮什么的,所以就需要Widget不随切换关切而从ViewprotClient中移除,而是在我们想要移除的时候才移除,做一个全局的Widget其实也很简单,我只需要稍稍的重写一下UserWidget就好了。

首先创建一个自己的UserWidget子类,然后重写OnLevelRemovedFromWorld函数:

#pragma once#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "GlobalWidget.generated.h"UCLASS()
class MYPROJECT_API UGlobalWidget : public UUserWidget
{GENERATED_BODY()
public:virtual void OnLevelRemovedFromWorld(ULevel* InLevel, UWorld* InWorld) override;UFUNCTION(BlueprintCallable,Category="GloablWidget")void RemoveGlobalWidget();
};
#include "GlobalWidget/GlobalWidget.h"void UGlobalWidget::OnLevelRemovedFromWorld(ULevel* InLevel, UWorld* InWorld)
{
}void UGlobalWidget::RemoveGlobalWidget()
{RemoveFromParent();
}
  • OnLevelRemovedFromWorld函数就是UserWidget往FWorldDelegates::LevelRemovedFromWorld代理中添加的函数,FWorldDelegates::LevelRemovedFromWorld代理会在Level从World中移除时调用;
  • RemoveGlobalWidget是自定义的函数,用于触发从ViewportClient中移除Widget。

然后创建一个GlobalWidget的蓝图类:

然后我们就可看一下效果了:

gif过大自行下载查看

【UE4】全局Widget相关推荐

  1. [UE4]给Widget增加参数,Pre Construct和Construct的区别

    使用Pre Construct事件可以在编辑器中实时显示出选择的背景图片. 如果使用的是"Construct"事件则只能在游戏运行时把图片显示出来. 转载于:https://www ...

  2. widget中文技术文档

    Version 3.1.1 版 2006 年 4 月 14 日   著作权 2002-2006 Yahoo! Inc. 保留所有权利   版本历史 第一次发行 第二次发行 第三次发行 第四次发行 第五 ...

  3. ue4 常见问题解答

    1.如何让客户端自动连接服务器 MyGame.exe 127.0.0.1 通过命令行参数指定服务器IP,就会自动进入游戏 参考:https://docs.unrealengine.com/latest ...

  4. Flutter - flutter_bloc状态管理

    继上一篇写了Flutter - GetX状态管理,会发现其实Flutter的状态管理的框架还是比较多的,用的比较多的有flutter_bloc.MobX.GetX等,今天我就来谈一谈我学习Flutte ...

  5. laravel 主题模板功能扩展包teepluss/theme

    官方教程:https://packagist.org/packages/teepluss/theme 主题将帮助您轻松地在Laravel项目中组织主题,并在单个目录中维护主题的相关资产,布局和部分. ...

  6. UE4 Slate九 控件反射器Widget Reflector介绍

    原创文章,转载请注明出处. 点击观看上一篇<UE4 Slate八 SlateUI使用总结> 点击观看下一篇<UE4 Slate十 SlateViewer介绍> 虚幻引擎 Sla ...

  7. [UE4]子控件Child Widget顶层容器选择

    如果父级容器是Canvas,则可以直接设置尺寸.放到其他widget的时候也会保持设定好的尺寸(而不管父容器是什么类型). 转载于:https://www.cnblogs.com/timy/p/914 ...

  8. UE4 Lightmass 全局光照

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Unre ...

  9. UE4 纯蓝图 WIdget勾选框 互斥

    总览 这次的按键: 互斥按键组(可以直接创建) 上次按下的按键: 循环: 事件绑定: 注意事项: 1. 方法使用的是绑定到勾选状态变化(勾选框只有这个事件能绑定),所以一定要用DoOnce方法,防止重 ...

最新文章

  1. mysql-5.1.30+nginx-0.7.63+php-5.2.8+phpmyadmin(解压)等软件
  2. 阻塞队列只有一个线程在同一时刻对其进行或者读或者写
  3. boost::process::async_system相关的测试程序
  4. Machine Learning On Spark——基础数据结构(二)
  5. 介绍自己的一个Android插桩热修复框架项目QuickPatch
  6. python学习笔记--随时更新
  7. 一个C程序的编译过程(Linux环境下Gcc)
  8. oracle 创建模式语句,ORACLE基本使用SQL语句以及归档模式的操作
  9. 终于去掉了location.reload()弹出的问题。
  10. java file 方法_JAVA中File的常用方法
  11. 电流纹波率取r = 0.4的原因 // 《精通开关电源设计》P48:r的最优值
  12. 图像风格迁移及代码实现
  13. 《Rework》摘录及感想
  14. OpenFOAM类库介绍(四)对流项
  15. YC创始合伙人Jessica Livingston七年经验总结:创业路上如何避开这八只拦路虎
  16. OPA-Gatekeeper使用
  17. 回文序列-2017网易校园招聘
  18. 相关旅游专业的计算机课程,高职旅游管理专业计算机课程项目化教学设计论文...
  19. 矩阵的行列式,证明|A||B|=|AB|
  20. 使用Java实现上传图片到七牛云

热门文章

  1. go 使用gooxml 操作Excel
  2. Fluent技巧-udf环境配置
  3. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java房屋租赁管理系统d97n3
  4. 开源地图引擎openlayers_使用OpenLayers发布地图
  5. MDT自动部署弹出Dirty Environment Found
  6. 时间显示-蓝桥杯真题-python解法
  7. 西南科技大学OJ题 above average 0706
  8. 2021暑假集训总结
  9. 中国数字出版产业前景动态分析及投资战略研究报告2022-2027年
  10. 手机新浪网大变脸门户迎来双App时代