首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在一定时间内将对象移动到特定位置?

如何在一定时间内将对象移动到特定位置?
EN

Stack Overflow用户
提问于 2018-05-05 03:04:23
回答 2查看 92关注 0票数 2
代码语言:javascript
复制
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()

我试图让我的对象向下移动一段时间,但我现在的代码没有显示对象向上或向下漂浮的动画。

我想知道是否有一种正确的方法来将对象或图像移动到某个特定时间内的位置?

EN

回答 2

Stack Overflow用户

发布于 2018-05-05 03:39:58

可以使用time模块在一段时间内每秒执行一次代码。特别是time.sleep()

我看不出使用你的方法有什么错。尽管我确实认为在这个场景中使用<更有意义:

代码语言:javascript
复制
>>> import time
>>> count = 0
>>> while count < 400:
...     count += 1
...     print(count)
...     time.sleep(1)
...
1
2

您还可以考虑使用带范围的for循环,而不是while循环:

代码语言:javascript
复制
>>> import time
>>> for count in range(0,400):
...     print(count)
...     time.sleep(1)
...
0
1
2

如果需要毫秒数,请将time.sleep(1)更改为time.sleep(0.001)

另一种方法:

代码语言:javascript
复制
>>> 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

或者如果你想要毫秒。

代码语言:javascript
复制
>>> 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
票数 -1
EN

Stack Overflow用户

发布于 2018-05-05 03:16:13

有时,当您使用'!=‘而不是小于时,它可能无法正确检查。如果你使用“<”,即使这个数字超过400,它也会停止求值。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50181633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档