我仍然是Python和OpenGL的新手。我编写了一个简短的代码,可以在z轴上移动汽车,这是我的全编写代码
我想做的是在用户击中" P"时暂停游戏,在" r"时重新启动并在" q"时退出程序...戒烟正常工作,但我既不能重新启动也可以暂停游戏我所有的试验,这是我写的一部分,以考虑所有情况:
def keyboard (key,x,y):
if key == b"q" :
sys.exit(0)
if key == b"r" :
restart_program()
if key == b"p":
pause ()
P.S。:我尝试了Pygame Liberary,但它无法正常工作
有帮助吗?
请参阅我的评论中的链接,以获取更完整的暂停方式,但您也可以将绘图代码重构为:
的行elapsed_time = 0
paused = False
def update():
start_time = time.time()
if key == b"r" :
paused = False
if key == b"p":
paused = True
if paused:
elapsed_time = time.time() - start_time
else:
elapsed_time = 0
UpdateAllTheThings(elapsed_time)
while True:
update()
然后,在更新系统的所有活动部件时,您将需要将每个移动扩展到通过的时间。通过具有单独的update()
函数,该函数将经过的时间作为参数,您可以通过传递0
模拟暂停。游戏状态的系统使它变得更加健壮和可扩展,值得学习。