Я делаю игру для окончания моего курса программирования, и иногда у меня появляются более длинные сцены, и цикл не проверяется, если есть событие QUIT, а затем прекратить все и закрыть цикл. Поэтому я думал, что многопоточность поможет, но, похоже, это не похоже на события, я попробовал распечатать - он получает события, но просто не получает событие QUIT.Pygame еще одна тема не получает событие QUIT?
Вот код:
from pygame import *
from threading import Thread
def closesearcher():
global running
while running:
for i in event.get():
if i.type == QUIT:
print ("QUIT event in closesearcher")
running = False
quit()
exit()
clock.tick(60)
def main():
init()
#True while game is running
global running
running = True
global window
window = display.set_mode([640, 480])
global clock
clock = time.Clock()
#Let's start closesearcher
searcherclose = Thread(target = closesearcher)
searcherclose.start()
scenegame = gamescene()
def gamescene():
#Render some scenery, wait for user to press button, etc in the following loop
while running:
for i in event.get():
if i.type == QUIT:
print ("QUIT event in game loop")
clock.tick(60)
if __name__ == "__main__":
main()
Любые решения, которые были бы похожа на структуру моего текущего кода? Примечание: я использую Python 3.2