def showGameFrame():
count=0
while count != 400:
c.move(theFrame, 0, 10)
c.move(gameLabel, 0, -10)
playButton.place_forget()
quitButton.place_forget()
count = count+1
if count == 400:
window.after(30, showGameFrame)
window.after(3000, logged)
play1.terminate()
我试图让我的对象向下移动一段时间,但我现在的代码没有显示对象向上或向下漂浮的动画。
我想知道是否有一种正确的方法来将对象或图像移动到某个特定时间内的位置?
发布于 2018-05-05 03:39:58
可以使用time模块在一段时间内每秒执行一次代码。特别是time.sleep()
我看不出使用你的方法有什么错。尽管我确实认为在这个场景中使用<更有意义:
>>> import time
>>> count = 0
>>> while count < 400:
... count += 1
... print(count)
... time.sleep(1)
...
1
2
您还可以考虑使用带范围的for循环,而不是while循环:
>>> import time
>>> for count in range(0,400):
... print(count)
... time.sleep(1)
...
0
1
2
如果需要毫秒数,请将time.sleep(1)
更改为time.sleep(0.001)
。
另一种方法:
>>> import time
>>> timenow = int(time.time())
>>> while (int(time.time()) - timenow) < 400:
... print(int(time.time()) - timenow)
... time.sleep(1)
...
0
1
2
3
4
5
或者如果你想要毫秒。
>>> import time
>>> timenow = time.time()
>>> while (time.time() - timenow) < 0.4:
>>> print(time.time() - timenow)
>>> time.sleep(0.001)
0.0
0.0019998550415
0.00300002098083
0.00399994850159
0.00499987602234
0.00599980354309
0.00799989700317
0.00899982452393
0.00999999046326
发布于 2018-05-05 03:16:13
有时,当您使用'!=‘而不是小于时,它可能无法正确检查。如果你使用“<”,即使这个数字超过400,它也会停止求值。
https://stackoverflow.com/questions/50181633
复制相似问题