我怎样才能永远前后旋转这个对象?

2024-04-25 20:31:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个旋转的骨骼箭头图像。如果它达到某个计时器,我希望它停止一边旋转,开始另一边旋转。如果另一方到达它的计时器,它应该来回,来回,像这样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

Tags: in图像ifmyvideo结尾箭头计时器
2条回答

使用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

它停止是因为您没有重置timertimer2。在它们完成移动后,您需要将其重置为零。我还将你的elseif组合成一个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

相关问题 更多 >