【UE4 RTS】11-HUD functionality Part1

这篇具有很好参考价值的文章主要介绍了【UE4 RTS】11-HUD functionality Part1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本篇实现了将游戏状态中的游戏时间和游戏日期通过蓝图接口的方式传递给控件蓝图,并且正确显示,另外还实现了控件蓝图界面上切换12小时和24小时制的游戏时间显示方式。

效果

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

步骤

一、显示游戏日期

1. 打开蓝图接口“RTS_GameTime_IF”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

添加一个新函数,命名为“SetGameClock”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 添加函数的输入输出如下

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

继续新添加一个函数命名为“SetGameCalender”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

添加如下输入输出

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

2. 打开控件蓝图“GameTime_HUD”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 在图表的类设置中添加蓝图接口“RTS_GameTimeIF”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 3. 打开游戏状态“RTS_GameState_BP”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

打开函数“SetCalendar”

 【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

添加如下节点

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4 打开函数“SetClock”,添加如下节点

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 此时,我们在游戏状态中的游戏日期和游戏时间就可以通过蓝图接口传递到控件蓝图了。

 4. 回到控件蓝图“GameTime_HUD”中,打开接口函数“SetGameCalendar”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

将函数输入的GameDate提升为变量,设置输出的Success引脚为True

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 在设计器中,选中用于显示第几日的文本,对其本文内容创建一个绑定函数。

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 绑定函数命名为“Get_TextBlock_Day_GetDay”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 函数内容如下,其中,“DayLocal”和“DayTextLocal”是局部变量

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 此时运行游戏可以看到控件“TextBlock_Day”会显示当前游戏日期中的日。

5. 新建一个枚举类型,命名为“MonthsNamesEnum”,用于表示每个月的月名

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 添加如下枚举值

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 6. 回到控件蓝图“GameTime_HUD”,对用于显示月份的文本控件的文本内容创建一个绑定函数,绑定函数命名为“Get_TextBlock_Month_GetMonth”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 新添加一个变量,命名为“MonthNameRef”,变量类型为“MonthsNamesEnum”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 函数“Get_TextBlock_Month_GetMonth”的逻辑如下

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 此时运行游戏就可以看到游戏日期中的月份了。

在设计器中对用于显示游戏日期中的年份的控件创建一个绑定函数,绑定函数命名为“Get_TextBlock_Year_GetYear”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 函数逻辑如下,其中“YearLocal”为数组“GameDate”中的第三个元素提升为的局部变量

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 此时运行游戏可以看到游戏日期中年月日都能够正确显示。

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

二、显示游戏时间

1. 打开控件蓝图“GameTime_HUD”中的接口函数“SetGameClock”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

将输入的“GameTime”提升为变量

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 增加按钮“Button_MC”的按钮点击事件

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

添加一个布尔类型的变量,命名为“IsMilitaryTime” ,默认值为True

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 按钮“Button_MC”的点击事件逻辑如下,主要用于切换12小时和24小时制

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 回到设计器中,对用于显示小时的文本控件的文本内容创建一个绑定函数

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 重命名绑定函数的函数名为“Get_TextBlock_Hour_GetHour”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 首先获取数组“GameTime”中的第三个元素,提升为局部变量“HoursLocal”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

添加一个字符串类型的局部变量,命名为“HoursTextLocal”,设置默认值为0

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 添加如下节点

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

在设计器中对文本控件“TextBlock_Minute”的文本内容创建一个绑定函数

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 绑定的函数命名为“Get_TextBlock_Minute_GetMinute”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 先将数组“GameTime”中的第二个元素取出提升为局部变量,命名为“MinutesLocal”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 新建一个局部变量“MinutesTextLocal”,设置默认值为0

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 继续添加如下节点

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

对如下文本控件的文本内容创建一个绑定函数

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 绑定函数命名为“Get_TextBlock_AMOrPM_GetSecondSpecial”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 先将数组“GameTime”中的第一个元素提升为局部变量,命名为“SecondSpecialLocal”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 新建一个局部变量,命名为“SecondSpecialTextLocal”,默认值为0

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 继续在函数内添加如下节点

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 在设计器中,对如下文本控件的文本内容创建一个绑定函数

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 绑定函数命名为“Get_TextBlock_TimeSpace2_SetSpacerSpecial”【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 创建一个局部变量“SpecialSpacerLocal”,默认值为“:”

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 在函数内添加如下节点

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 此时可以看到界面上已经能够正确显示当前游戏的日期和时间:

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4

 如果将游戏状态“RTS_GameState_BP”中的变量“DefaultGameSpeed”和“GameSpeed”从150改为1的话,可以明显看到界面的时间变化加快了。

【UE4 RTS】11-HUD functionality Part1,# 虚幻4 RTS游戏,ue4文章来源地址https://www.toymoban.com/news/detail-655000.html

到了这里,关于【UE4 RTS】11-HUD functionality Part1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UE4 RTS】04-Camera Pan

    本篇实现了CameraPawn的旋转功能。 1. 打开项目设置,添加两个操作映射 2. 打开玩家控制器“RTS_PlayerController_BP”,新建一个浮点型变量,命名为“PanSpeed” 在事件图表中添加如下节点  此时运行游戏可以发现当鼠标移动时,CameraPawn会围绕Z轴进行相应的旋转,但是按下W键时前

    2024年02月13日
    浏览(38)
  • UE4和C++ 开发--HUD类

    HUD 平视显示器(Head Up Display),简称HUD。在蓝图中是指在屏幕上面绘制的二维物体。 1. 创建HUD 打开蓝图编辑器,创建一个蓝图类,搜索HUD,选择并命名BP_HUD。 2. 开始绘制 打开事件列表,右键搜索 EventReceive Draw HUD。有两个输入分别是X,Y,分别代表屏幕的宽度和屏幕的高度。我们

    2024年02月07日
    浏览(40)
  • 【虚幻引擎】UE4/UE5 材质

      基础颜色(BaseColor) :材质本身的颜色,例如绿色蓝色等 金属度(Metallic) :金属度,材质是否含有金属光泽 粗糙度(Roughness) :粗糙或者平滑度,物体表面的粗糙程度 自发光(EmissiveColor) :物体本身是否发光 透明度(Opactity) :物体表面是否透明,适用于 半透明(Translucent)、

    2024年02月02日
    浏览(82)
  • 【虚幻引擎】UE4/UE5插件

    Blank:空白插件,可以从头开始自己定义想要的插件风格和内容,用此模板创建的插件不会有注册或者菜单输入。 BlueprintLibrary:创建一个含有蓝图函数库的插件,此模板函数都是静态全局函数,可以在蓝图中直接调用。 ContentOnly:创建一个只包含内容的空白文件 Editor Toolba

    2024年02月05日
    浏览(75)
  • 【虚幻引擎】UE4优化植被

    在UE4中,我们在做大型的室外场景时,经常会遇到植物过多导致延迟的现象,有时候我们需要在UE4的场景中放置几千几万甚至更多的模型,这些模型具有相同的LOD,并且基础模型都使用同一模型资源。因为模型文件拖入UE4场景中会自动使用Static Mesh Actor来表示,当在程序中放

    2024年02月15日
    浏览(57)
  • ue5,ue4(虚幻5)安卓触摸

    这个是单方向的,如果要用双方向的,就是 x和y同时运用的话建议用向量2d(变量),把它分割成x和y就可以了,我门平时在网上见到的触摸都是:按下到连续,我这个方法是按下-连续-停止,记住,y的变量要是负数,还有就是,灵敏度调大的时候,屏幕会跳动,由于x和y的屏

    2024年02月11日
    浏览(81)
  • 【虚幻引擎】UE4/UE5 pak挂载

     找到:D:UEUE_4.27EngineBinariesWin64,  WindowS+R打开CMD命令 运行UnrealPak,运行结果如下      注意如果想要加载Pak内资源,那么这些资源必须是经过Cook的。如果打包的是未Cook的资源,那么即使Pak挂载成功,也不可能会成功加载Pak内资源。  Cook好之后,存储的路径在你的I:DBJ

    2024年02月10日
    浏览(75)
  • 【虚幻引擎UE】UE4/UE5 新人科普向

    Unreal Engine是当前最为流行的游戏引擎之一,具有丰富的游戏开发功能和强大的游戏引擎渲染能力。 UE5官方文档:UE5官方文档非常详细,介绍了UE5的各个功能和应用,适合入门学习和深入探究。链接:https://docs.unrealengine.com/5.1/zh-CN/ UE5中文社区:该社区聚集了大量的UE5开发者,

    2024年02月09日
    浏览(79)
  • 【虚幻引擎】UE4 Spline(样条线)

           样条线Spline在UE中是一个很好用的工具,能够设置物体的跟随移动,也能够设置物体的批量复制,还能够设置一个特殊的模型形状比如圆管,还可以设置特殊的粒子特效,做地形设计等等,只要你想要实现的效果,spline都可以实现。官方也提供了很多的案例,可以参考

    2023年04月10日
    浏览(68)
  • 【虚幻引擎】UE4/UE5科大讯飞文字合成语音

    B站视频链接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0   第一步:首先进入讯飞开放平台注册一个账号,然后创建一个 创建一个应用,命名按照你自己的想法来,会产生一个APPID,具体参考UE4如何接入科大讯飞的语音识别_ue4 科大讯飞的语音识别_飞起的猪的博客-CSDN博

    2024年02月13日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包