正如标题所说..
playerVelocity.x = playerVelocity.x *deceleration +acceleration.x *sensitivity;
我不明白这里发生了什么。或者它是如何可能的。如何获取速度并乘以速度减速然后再次添加速度。这对我来说毫无意义。
我正在阅读它的方式是..我有playerVelocity并将它乘以实际减慢它的东西,然后我再次添加它。
叹息,抱歉,我对这段简单的代码感到非常沮丧,除了我之外,对于每个人来说这似乎都很容易。
有人会介意为我澄清一下吗?
答案 0 :(得分:3)
deceleration
是描述在没有加速度的情况下速度如何减慢的系数。 sensitivity
是描述acceleration
如何影响velocity
的系数。那么这条线正在做的是根据这些系数更新速度。可能它发生在某种定时循环中,因此速度会在程序中的这些步骤中适当变化。没有后半部分,它只会是:
velocity = velocity * deceleration;
如果deceleration
小于1,这种关系意味着速度最终将朝向0.添加我认为用户的输入加速度,你得到你的代码:
velocity = velocity * deceleration + acceleration * sensitivity;
答案 1 :(得分:3)
考虑定期应用的velocity = velocity*deceleration;
只是提供恒定的减速度。然后以相同的规则间隔添加到acceleration*sensitivity
只需将一些可变加速度应用于减速对象。
除非用户输入“催促”,否则网络将缓慢减速。