math - 乒乓球值随着时间的推移而降低,以产生闪烁效果

标签 math language-agnostic trigonometry game-development

graph

我需要一个这样的函数。水平值是时间,垂直值是输出。从时间 0 开始,该值应为 -11。增加时间量,该值应变为 1-1,从而减少每次“弹跳”时的距离。

我过去曾使用黑客代码完成过此操作:将目标值存储在变量中,每次该值达到目标值时,我都会执行targetValue *= -.5,等等上。

也许有一个更好的实现,使用数学函数,不需要手动执行此操作。对我来说,它就像一个三角函数,但最终输出乘以 1 - (time/maxTime),它不是波浪而是线条。

最佳答案

如果您对确切的形状不感兴趣,那么 targetValue *= -.5 正是我要做的,只要调用绘制图形的函数之间的时间增加即可是平等的。我认为这是一个不错的选择,因为它是最简单的选择,可以满足您的需求。如果时间增量不相等,您可能需要与 -(time-Increment) 成比例的值,而不是始终与 -.5 成比例。

关于math - 乒乓球值随着时间的推移而降低,以产生闪烁效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16819605/

相关文章:

java - 如何用三角函数画椭圆曲线?

optimization - 求一个函数的最大值

c++ - boost::operators 混合算术

algorithm - 有没有一种有效的方法来计算一组给定线段之间的交点数?

插件架构的安全/认证

java - 合成采样声音

c - 正余弦模扩展精度算法

c# - 将 Excel 列字母转换为数字的算法是什么?

c++ - 流氓线被绘制到窗口

language-agnostic - 有没有短路乘法之类的东西?