gpt4 book ai didi

python - 如何在不使用 time.sleep() 的情况下每隔几秒移动一次 turtle ?

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:01 25 4
gpt4 key购买 nike

我正在用 turtle 制作一个类似俄罗斯方 block 的游戏。

当 block 宕机时,我使用 time.sleep() 让它等待几秒钟,然后再宕机。但是, time.sleep() 使整个代码停止,我只想停止定义:

def moveDown():
time.sleep(2)
turtle(sety(100)
time.sleep(2)
turtle.sety(0)
time.sleep(2)
turtle.sety(-100)
time.sleep(2)
turtle.sety(-200)
setBlock()

我不希望整个代码停止,因为玩家需要使用左右键在屏幕上导航。那么,我该如何实现这一目标呢?抱歉,如果这非常漫无目的和困惑。

最佳答案

time.sleep() 的情况是所谓的“阻塞调用”,这意味着当调用它时,您的进程在完成之前不会继续进行。您需要有另一个线程/进程在后台运行才能使其移动。像这样的事情:

def moveDown():
turtle.sety(turtle.ycor())
if moveable:
screen.ontimer(moveDown, 2000) #ms

然后在代码的其他地方:

...
moveable=True
moveDown()
...

然后停止它:

...
moveable=False
...

这是一个非常简单的示例(基于 python.org 示例)

关于python - 如何在不使用 time.sleep() 的情况下每隔几秒移动一次 turtle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com