我已经成功地编写了自己的进度条,进度条根据变化的百分比值进行视觉更新。但是,我目前面临进度条不同阶段之间突然跳跃的问题。我希望在这些阶段之间实现平稳过渡。
以下是一些其他详细信息:我可以访问游戏的 FPS 计数,以及进度条的位置和比例。我选择的编程语言是 Java。
我的问题是:根据可用信息,如何在进度条的各个阶段之间实现平滑过渡?
任何有关实现平稳过渡的建议或指导将不胜感激。谢谢!
最佳答案
一般性答案,不特定于语言。
您可以增加每个框架的宽度,直到达到所需的宽度/百分比,而不是直接设置宽度。
假设您有函数 bar.setWidth(val)
来设置进度条的宽度。
让它成为您的更新循环(以 60FPS
运行):
update {
...
...
double percentageLoaded; // this is your parameter probably
static const int incrementStep = 1; // increase this for faster animation
// Get the width of the bar for the current percentage
int desiredWidth = percentageLoaded * bar.totalWidth;
if(bar.currentWidth < desiredWidth) {
bar.currentWidth += incrementStep;
}
}
如果你的incrementStep大于1,你还需要检查一些事情。(例如:不要将条形宽度设置为大于100%)
这是一张小图,也许可以帮助您更好地理解。在此示例中,增量步长为 1px
,条形宽度为 4px
,加载设置为 50%
完成,这意味着您的条形宽度应为 2px
。
关于java - 在 Java 进度条中实现平滑过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945639/