Class Python+Pygame+PygButton检测
我将Python3.3与Pygame和PygButton low rep一起使用,不允许有超过两个链接 目前我的文件是[int.py]和[scene.py] 我们的想法是在int.py中创建一个尽可能小的主循环。代码中有一个注释掉的示例,它是mainloop上的start_屏幕按钮。它可以工作,但是每一个新屏幕的主循环都会膨胀 所以我创建了一个场景类来应用背景、文本和按钮。它能工作,但我能让按钮工作。例如,bquit按钮不会像以前插入主循环时那样退出屏幕 我试图在场景中创建一个场景循环,以运行特定场景必须提供的所有内容。点击一个按钮,它将改变场景,这样,开始一个新的场景循环 在场景类实例化之后,我似乎无法添加特定的方法,因此我创建了一个Scene_Start类来处理特定的方法,如Scene_循环及其按钮,因为背景很容易通过Scene类放置 我只是被卡住了,无法找到一种方法来解决这个问题,而不是放弃一切,重新开始 帮忙 tl;博士: 1.PygButton在mainloop外不工作 2.我如何创建一个场景_循环来替换该场景的主循环,取消主循环它只负责启动应用程序和更改场景Class Python+Pygame+PygButton检测,class,loops,pygame,python-3.3,Class,Loops,Pygame,Python 3.3,我将Python3.3与Pygame和PygButton low rep一起使用,不允许有超过两个链接 目前我的文件是[int.py]和[scene.py] 我们的想法是在int.py中创建一个尽可能小的主循环。代码中有一个注释掉的示例,它是mainloop上的start_屏幕按钮。它可以工作,但是每一个新屏幕的主循环都会膨胀 所以我创建了一个场景类来应用背景、文本和按钮。它能工作,但我能让按钮工作。例如,bquit按钮不会像以前插入主循环时那样退出屏幕 我试图在场景中创建一个场景循环,以运行特
谢谢。问题解决了。回答我自己的问题,以便对他人有所帮助。 每个类都有一个sceneloop方法,该方法运行并替换主循环。这允许在不影响其他组件的情况下,将任何问题解除悬浮并隔离到场景中 主循环:
while True:
for event in pg.event.get():
if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
pg.quit()
sys.exit()
scene.startscreen.draw()
scene.startscreen.sceneloop()
pg.display.update()
一个场景操作的例子。这是Scene_StartScene类中的一个方法,如上面主循环中所示,实例化为startscreen
def sceneloop(self):
while self.scene_loop == True:
for event in pg.event.get():
if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
pg.quit()
sys.exit()
if 'click' in self.bcreate.handleEvent(event): #CREATE
startcreate.draw()
startcreate.sceneloop()
if 'click' in self.bstart.handleEvent(event): #START
pg.quit()
sys.exit()
if 'click' in self.bload.handleEvent(event): #LOAD
startload.draw()
startload.sceneloop()
if 'click' in self.boptions.handleEvent(event): #OPTIONS
startoptions.draw()
startoptions.sceneloop()
if 'click' in self.bquit.handleEvent(event): #QUIT
pg.quit()
sys.exit()
self.update()
为什么不在这里粘贴代码?在scene.py中没有任何退出pygame的代码