UE5游戏运行倒计时功能

本文讲述了如何在游戏开始后通过UE4蓝图实现倒计时功能,包括使用settimerbyevent定时器、INT变量管理秒数和分钟,以及解决跨界面切换时倒计时重置的问题。最终通过将变量存储在HUD和复用顶层控件中解决了显示问题。
摘要由CSDN通过智能技术生成

需求:

游戏开始后根据配置好的游戏时间倒计时,游戏开始倒计时开始倒计时结束游戏结束。

资料参考:

02-实现倒计时_哔哩哔哩_bilibili

UE4蓝图实现倒计时功能_ue4蓝图 几点钟执行-CSDN博客

过程:

1、新建一个settimerbyevent定序器

该定序器可以设置一个规定的时间来循环函数或方法。
Time设置的是调用的时间间隔;Looping勾选代表无线循环,不勾选代表调用一次。

注意:这里调用要放在Construct构造函数里不能放在Tick里,放在Tick里运行后时间不变

2、新建两个int类变量,分别代表分和秒

3、逻辑关系:

分和秒=0的情况下代表倒计时结束不跑,其他代表有倒计时

当分≠0,秒=0的情况下,代表整数倒计时的时间,下一秒设置从59开始,然后分-1;

当秒≠0的情况下,秒-1

4、UMG蓝图中显示两个TEXT

并设置绑定函数

函数里显示如果<9前面+0;如果大于9两位数则正常显示

问题:

运行的时候出现另一个问题,由于涉及到多个控件蓝图,在多个控件蓝图中都调用了一套顶部的控件蓝图,但每个界面切换的时候时间都从头计时。因为每个控件蓝图在切换的时候都是卸载掉然后重新生成create出来的,因此时间也被重新加载。

如果采用另一种办法,即新建一个控件蓝图只显示倒计时的时间,同时加载两个Widget,一个负责倒计时,一个负责控件蓝图的显示。随之而来的问题是,卸载切换负责显示的控件蓝图,倒计时的widget被叠在后面,切换后就不显示了/

过程:

解决办法:

1、将fen和miao设置在HUD里

不用Tick的原因:Tick是逐帧调用 定序器在这里设置的是逐秒调用

2、将倒计时的显示UI放在复用顶层的控件蓝图中,设置get text,

3、在复用的顶层控件蓝图中事件图表中调用HUD里的fen和miao的时间

功能实现,大功告成!

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值