【UE4 RTS】12-HUD functionality Part2

news2024/12/23 12:41:43

前言

本篇实现了通过按钮控件暂停、加快、减慢游戏速度的功能。

效果

步骤

1. 打开控件蓝图“GameTime_HUD”,在设计器中对进度条控件的百分比创建一个绑定函数

 绑定函数命名为“Get_ProgressBar_GameSpeed_SetSpeedDisplay”,并设置该函数类别属于GameSpeed

 

 新建一个浮点类型的变量,命名为“SpeedSetting”,用于控制游戏速度,设置默认值为3

 绑定函数的逻辑节点如下所示:

 在设计器中,对如下三个按钮控件创建点击事件

在图表中,创建一个布尔类型的变量,命名为“isPaused”,用于表示游戏是否暂停。

 新建一个浮点类型变量,命名为“CurrentSpeedSetting”

设置变量“SpeedSetting”和“CurrentSpeedSetting”的类别为“GameSpeed”

 在事件图表中添加如下节点

2. 新建一个枚举,命名为“GameSpeedSettingEnum”

 

打开“GameSpeedSettingEnum”,添加如下枚举值,其中速度0表示暂停,速度为3表示默认速度。

3. 回到控件蓝图“GameTime_HUD”中,新添加一个函数,命名为“SetGameSpeed”

 

 该函数添加一个输入,类型为我们刚创建的枚举“GameSpeedSettingEnum”

在该函数内创建一个局部变量“SpeedMultiplierLocal”

在函数内添加如下节点

4. 打开游戏状态“RTS_GameState_BP”,将如下“Set GameTime”节点替换为“Set GameSpeed”节点

5. 回到控件蓝图“GameTime_HUD” 中,添加一个变量,命名为“GameStateRef”,变量类型为“RTS_GameState”的对象引用。

继续在函数“SetGameSpeed”中添加如下节点:

 回到事件图表中,补全暂停按钮“Button_Pause”的逻辑如下所示:

加快游戏速度的按钮“Button_IncreaseSpeed”的逻辑如下所示:

 减少游戏速度的按钮“Button_DecreaseSpeed”的逻辑如下所示:

 添加一个变量命名为“PlayerControllerRef”,变量类型为“RTS_PlayerController_BP”的对象引用:

 6. 打开玩家控制器“RTS_PlayerController_BP”中的宏“SpawnWidgets”:

 在刷新节点后,可以看到新出现如下两个引脚

将玩家控制器本身和获取到的游戏状态的引用传入引脚

7. 打开游戏状态“RTS_GameState_BP”中的函数“SetClock”,删除如下区域的节点,让视口中不再输出打印信息。

 还有函数“SetCalendar”中的打印信息的节点也删除

此时运行游戏可以看到我们通过点击按钮可以实现控制游戏速度的快慢:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【蛋白-蛋白】Rosetta InterfaceAnalyzer 学习笔记

Rosetta InterfaceAnalyzer是一种用于分析蛋白质相互作用界面的工具,可以计算结合能、埋藏界面表面积、包装统计数据和其他有用的界面指标。 这里以(PDB:3R2X)为例,介绍如何利用Rosetta中InterfaceAnalyzer来快速分析蛋白-蛋白相互作用,并提…

excel统计函数篇1之average系列

一、excel中的统计函数 1、AVERAGE(number1,number2,...):返回其参数的平均值 2、AAVERAGEA(value1,value2,...):返回其参数的平均值,包括数字、文本和逻辑值 可以在括号内手动输入,也可以引用单元格,对序列求平均的…

浏览器307,自动从http跳转到https

现象: 解决方式 谷歌浏览器和edge: 进入chrome://net-internals/#hsts

Docker+Selenium Grid搭建自动化测试平台

安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce -y Create a Docker Network docker network create grid 下载镜像 hu…

TensorFlow2.1 模型训练使用

文章目录 1、环境安装搭建2、神经网络2.1、解决线性问题2.2、FAshion MNIST数据集使用 3、卷积神经网络3.1、卷积神经网络使用3.2、ImageDataGenerator使用3.3、猫狗识别案例3.4、参数优化 1、环境安装搭建 链接: Windows 安装Tensorflow2.1、Pycharm开发环境 2、神经网络 1…

第十四届中国大学生服务外包大赛细品,上百支队伍与合合信息用AI共克“记账”难题

前言 熟悉我的小伙伴应该知道我在大学时期参与了很多竞赛,我向来对比赛是比较热枕的,以我个人观点,我认为可以通过竞赛激发学习激情和检验自己的技能水平掌握情况,大学生很少有机会能够了解到课堂之外市场的需求,外包…

repmgr出现双主,并且时间线分叉,删除了最新的时间线节点

遇到的问题如下: 2023-08-17 20:24:21.566 CST [1556001] LOG: database system was interrupted; last known up at 2023-08-17 20:21:41 CST 2023-08-17 20:24:21.770 CST [1556001] LOG: restored log file "00000009.history" from archive cp: 无法…

【从零开始学爬虫】采集中国国际招标网招标数据

l 采集网站 【场景描述】采集中国国际招标网招标数据。 【源网站介绍】中国国际招标网致力于为企业提供招标、采购、拟在建项目信息及网上招标采购等一系列商务服务。 【使用工具】前嗅ForeSpider数据采集系统 http://www.forenose.com/view/forespider/view/download.html 【…

LVS-DR模式下(RS检测)ldirectord工具实现部分节点掉点后将请求发往正常设备进行处理

基于前文的LVS-DR集群构建环境 一.下载ldirectord软件 二.将模板文件中的LVS-DR模式相关文件拷贝到/etc/ha.d主配置目录并按实际设备修改 三.配置两台RS匹配规则 四.停止RS1的http服务进行测试 RS1失去工作能力,RS2接替RS1 基于前文的LVS-DR集群构建环境 一.下…

ARM--day5(C语言点灯实验、总线、串口通信信息、串口通讯协议)

函数分装实现点灯 gpio.c: #include "gpio.h" //函数功能:GPIO引脚初始化操作 //参数1:GPIO组号 //参数2:引脚编号 //参数3:初始化内容 void hal_gpio_init(volatile gpio_t*gpiox,unsigned int pin,gpio_init_t* ini…

浏览器控制台调试代码和JavaScript控制台方法介绍

浏览器控制台调试代码和JavaScript控制台方法介绍 浏览器控制台调试代码 浏览器控制台(Console)是浏览器提供的一个开发工具,用于在浏览器中执行和调试 JavaScript 代码。它提供了一个交互式环境,可以输入 JavaScript 代码&#…

计算机竞赛 wifi指纹室内定位系统

简介 今天来介绍一下室内定位相关的原理以及实现方法; WIFI全称WirelessFidelity,在中文里又称作“行动热点”,是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE 802.11标准的无线局域网技术。基于两套系统的密切相关&#xff…

UGUI组件Rect Transform

一. Rect Transform概述 画布上UI对象都附加一个Rect Transform组件,和一般对象附加的Transform对象相比,Rect Transform多了Width,Height,Anchor,Pivot属性。 二.位置属性 UI对象的坐标是其轴心到锚点之间的像素值,如下图所示。 三.Pivot(…

同时负责多个项目,团队成员还参与多个项目开发,如何有效管理?分享9个策略

如果你正在管理一个团队或项目,可能会需要同时在进行多个项目的管理。在这种情况下,追踪所有进行中的项目部分可能会迅速变得非常复杂。没有合适的管理过程,就难以确定哪些工作应该优先处理,也不容易确保团队有效管理工作量&#…

WPF显示初始界面--SplashScreen

WPF显示初始界面–SplashScreen 前言 WPF应用程序的运行速度快,但并不能在瞬间启动。当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(CLR)首先需要初始化.NET环境,然后启动应用程序。 对于WPF中…

Spring基础梳理(一):一定要先全局掌握Spring

越活越完蛋了,看着看着现在又想梳理梳理Spring基础,搞点原始真解吧,不过技术人每个阶段看相同东西的理解都是不同的,只是现在浮躁的技术中又有多少人能够一本书啃两遍以上呢,我也一样,徜徉于业务之中&#…

【国护攻防场景下的沙箱技术对比】

目录 前言 沙箱技术分析 总结 前言 真高兴呀,又是受到红队大佬青睐的一天,今天下午很荣幸的收到了来自红队大佬的恶意投喂,把我们各位在座100年工作经验的蓝队师傅们吓得赶忙拔掉自己的电脑电源,断掉自己的网线,…

基于Helm管理Kubernetes应用

目录 基于kubeadm部署K8S集群 一、环境准备 1.1、主机初始化配置 1.2、部署docker环境 二、部署kubernetes集群 2.1、组件介绍 2.2、配置阿里云yum源 2.3、安装kubelet kubeadm kubectl 2.4、配置init-config.yaml 2.5、安装master节点 2.6、安装node节点 2.7、安装…

Linux驱动开发(Day4)

字符设备驱动分步注册:

OpenCV实战(OCR识别和高级基础)

目录 图像特征harris角点检测基本原理实现 Scale Invariant Feature Transform(SIFT)图像尺度空间多分辨率金字塔高斯差分金字塔(DOG)DoG空间极值检测关键点的精确定位消除边界响应特征点的主方向生成特征描述 特征匹配Brute-Forc…