我有一个旋转的骨箭头图像。如果它达到某个计时器,我希望它停止在一侧旋转并开始旋转另一侧。如果对方达到它的计时器,它应该来回,来回,像这样short gameplay video。
我不知道为什么它在最后转 timer2
时停止。
# in my main loop
if timer < 60:
timer += 1
bow.angle += 1
else:
if timer2 < 80:
timer2 += 1
bow.angle -= 1
答案 0 :(得分:3)
使用 muodulo (%
) 运算符以一定的间隔改变方向:
初始化时:
timer = 0
dir = 1
在应用程序循环中:
if timer >= 60 and timer % 20 == 0:
dir *= -1
bow.angle += dir
timer += 1
if timer >= 100:
timer = 60
或者在达到 100 时将计时器设置为 60:
if timer < 60:
bow.angle += 1
else:
bow.angle -= 1
timer += 1
if timer >= 80:
timer = 40
答案 1 :(得分:1)
它停止是因为您没有重置 timer
或 timer2
。在它们完成移动后,您需要将它们重置为零。我还将您的 else
和 if
合并为一个 elif
。
if timer < 60:
timer += 1
bow.angle += 1
elif timer2 < 80:
timer2 += 1
bow.angle -= 1
else: # reset both timers
timer = 0
timer2 = 0