通过单击面向对象的PyGame按钮来调用PyGame函数

通过单击面向对象的PyGame按钮来调用PyGame函数,第1张

通过单击面向对象的PyGame按钮来调用PyGame函数

您必须调用

pg.display.flip()
Menu
函数。

我还对代码结构有一些建议。我将使用另一个函数或类(

main
在这种情况下)来管理不同的场景。因此,我首先将当前场景函数分配给变量,然后在主while循环中调用它。场景完成后,我返回下一个场景并将其分配给
scene
变量以交换场景。如果您直接从另一个场景中直接调用下一个函数,则可以避免潜在的递归错误(尽管在简单的游戏或应用中,您不可能超过1000的递归限制)。

import pygame as pgpg.init()screen = pg.display.set_mode((600, 400))clock = pg.time.Clock()BLUE = pg.Color('dodgerblue3')ORANGE = pg.Color('sienna3')def front_page():    while True:        for event in pg.event.get(): if event.type == pg.QUIT:     return None # Press a key to return the next scene. elif event.type == pg.KEYDOWN:     return menu        screen.fill(BLUE)        pg.display.flip()        clock.tick(60)def menu():    while True:        for event in pg.event.get(): if event.type == pg.QUIT:     return None # Press a key to return the next scene. elif event.type == pg.KEYDOWN:     return front_page        screen.fill(ORANGE)        pg.display.flip()        clock.tick(60)def main():    scene = front_page  # Set the current scene.    while scene is not None:        # Execute the current scene function. When it's done        # it returns either the next scene or None which we        # assign to the scene variable.        scene = scene()main()pg.quit()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存