【UE4】全局Widget
由于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相关推荐
- [UE4]给Widget增加参数,Pre Construct和Construct的区别
使用Pre Construct事件可以在编辑器中实时显示出选择的背景图片. 如果使用的是"Construct"事件则只能在游戏运行时把图片显示出来. 转载于:https://www ...
- widget中文技术文档
Version 3.1.1 版 2006 年 4 月 14 日 著作权 2002-2006 Yahoo! Inc. 保留所有权利 版本历史 第一次发行 第二次发行 第三次发行 第四次发行 第五 ...
- ue4 常见问题解答
1.如何让客户端自动连接服务器 MyGame.exe 127.0.0.1 通过命令行参数指定服务器IP,就会自动进入游戏 参考:https://docs.unrealengine.com/latest ...
- Flutter - flutter_bloc状态管理
继上一篇写了Flutter - GetX状态管理,会发现其实Flutter的状态管理的框架还是比较多的,用的比较多的有flutter_bloc.MobX.GetX等,今天我就来谈一谈我学习Flutte ...
- laravel 主题模板功能扩展包teepluss/theme
官方教程:https://packagist.org/packages/teepluss/theme 主题将帮助您轻松地在Laravel项目中组织主题,并在单个目录中维护主题的相关资产,布局和部分. ...
- UE4 Slate九 控件反射器Widget Reflector介绍
原创文章,转载请注明出处. 点击观看上一篇<UE4 Slate八 SlateUI使用总结> 点击观看下一篇<UE4 Slate十 SlateViewer介绍> 虚幻引擎 Sla ...
- [UE4]子控件Child Widget顶层容器选择
如果父级容器是Canvas,则可以直接设置尺寸.放到其他widget的时候也会保持设定好的尺寸(而不管父容器是什么类型). 转载于:https://www.cnblogs.com/timy/p/914 ...
- UE4 Lightmass 全局光照
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Unre ...
- UE4 纯蓝图 WIdget勾选框 互斥
总览 这次的按键: 互斥按键组(可以直接创建) 上次按下的按键: 循环: 事件绑定: 注意事项: 1. 方法使用的是绑定到勾选状态变化(勾选框只有这个事件能绑定),所以一定要用DoOnce方法,防止重 ...
最新文章
- mysql-5.1.30+nginx-0.7.63+php-5.2.8+phpmyadmin(解压)等软件
- 阻塞队列只有一个线程在同一时刻对其进行或者读或者写
- boost::process::async_system相关的测试程序
- Machine Learning On Spark——基础数据结构(二)
- 介绍自己的一个Android插桩热修复框架项目QuickPatch
- python学习笔记--随时更新
- 一个C程序的编译过程(Linux环境下Gcc)
- oracle 创建模式语句,ORACLE基本使用SQL语句以及归档模式的操作
- 终于去掉了location.reload()弹出的问题。
- java file 方法_JAVA中File的常用方法
- 电流纹波率取r = 0.4的原因 // 《精通开关电源设计》P48:r的最优值
- 图像风格迁移及代码实现
- 《Rework》摘录及感想
- OpenFOAM类库介绍(四)对流项
- YC创始合伙人Jessica Livingston七年经验总结:创业路上如何避开这八只拦路虎
- OPA-Gatekeeper使用
- 回文序列-2017网易校园招聘
- 相关旅游专业的计算机课程,高职旅游管理专业计算机课程项目化教学设计论文...
- 矩阵的行列式,证明|A||B|=|AB|
- 使用Java实现上传图片到七牛云