提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
该功能本身没有什么特殊的,但由于UE没有现成可调用的功能。所以主要是自己想好逻辑,然后借助蓝图节点来实现结果。
一、功能实现概括。
1.核心功能节点
这里主要通过此节点来实现倒计时的核心逻辑,该节点可以根据设定的时间间隔来循环执行指定函数。比如可以设定间隔一秒执行一次函数从而可以实现倒计时的需求,好处是该节点不会受性能影响,会以实际时间间隔来执行,避免卡顿造成的意外bug。
2.整体结构逻辑
一般来说倒计时肯定是需要先设定一个时间,然后将该时间执行倒计时,那么倒计时这个功能可以作为一个方法或者函数来制作。这里考虑到复用性,所以将倒计时函数做到蓝图函数库里,这样其他有类似需求的蓝图都可以调用该功能函数。
二、实现逻辑步骤
1.输入初始时间变量
时间要分分钟和秒数来分别处理,然后执行积算的变量类型是浮点,而显示的变量类型应该是字符,所以同样做一份分钟和秒数的字符变量。这样将这四个变量作为输入,然后执行一些列操作之后再将他们输出出去保存作为下一次输入执行操作。从而达到连续的时间倒计时。
2.执行秒数倒计时判断
倒计时以秒为单位,所以我们主要逻辑就是每次执行该功能函数就将秒数减一,这里分两种情况秒数大于零和等于零(秒数不会小于零)。
当秒数大于零时执行的操作:
秒数减一
之后判断分钟是否小于10,如果小于10在字符分钟变量前面加上0以保持格式。如果分钟大于10则直接显示分钟数。
接下来判断秒数是否小于10,小于10在前面加上0以保持格式。否则直接显示秒数。
最后将执行后的分钟和秒数的两种类型变量和组装好的显示时间返回出去用于下一次操作:
当秒数等于零时执行的操作:
要先判断分钟数,根据分钟数的情况执行相应操作,当分钟数大于零时。
当分钟数等于零时。
这时秒数已经定义为59 了只需要判断分钟数的格式:
最后同样将结果返回:
总结
以上就是倒计时的主要逻辑,其实很简单只是操作起来稍微麻烦一点。