【发布时间】:2017-07-05 14:23:20
【问题描述】:
我尝试随机移动一组球,但速度一致。我的代码让球在随机方向上移动,但速度不同。我认为这是因为 random.uniform 函数给出了不同的值,有些接近 0,乘以速度和时间,得到的值低于接近 1 的值。但在动画中,速度似乎并没有关系球运动的方向(如果dx 和dy 的值是原因,则应该是这种情况)。我知道 anout 归一化,但我认为 random.uniform 给出的值与归一化向量相同?
我的问题是:
-
dx和dy的随机值是速度差异的罪魁祸首吗? - 有什么方法可以让所有的球都以相同的速度运动?
我的代码:
self.timer = pygame.time.Clock()
self.time_passed = self.timer.tick()
self.speed = 0.5
self.dx = random.uniform(-1, 1)
self.dy = random.uniform(-1, 1)
displacement = Vector2(
self.dx * (self.speed * self.time_passed),
self.dy * (self.speed * self.time_passed)
)
self.pos += displacement #both vector objects
感谢您的帮助!
【问题讨论】:
标签: python animation vector random pygame