我在尝试使Pygame库在我的Pycharm IDE上运行时遇到问题。即使有了这些代码,Pygame似乎在调用窗口显示后立即崩溃。我知道这个问题在代码语法错误中很常见,但是即使使用这3条简单的代码行,它仍然对我崩溃。
import pygame
pygame.init()
win = pygame.display.set_mode((500,500))
答案 0 :(得分:1)
您需要一个事件循环,否则应用程序将立即关闭。
请看http://pygametutorials.wikidot.com中的以下代码:
import pygame
from pygame.locals import *
class App:
def __init__(self):
self._running = True
self._display_surf = None
self.size = self.weight, self.height = 640, 400
def on_init(self):
pygame.init()
self._display_surf = pygame.display.set_mode(self.size, pygame.HWSURFACE | pygame.DOUBLEBUF)
self._running = True
def on_event(self, event):
if event.type == pygame.QUIT:
self._running = False
def on_loop(self):
pass
def on_render(self):
pass
def on_cleanup(self):
pygame.quit()
def on_execute(self):
if self.on_init() == False:
self._running = False
while( self._running ):
for event in pygame.event.get():
self.on_event(event)
self.on_loop()
self.on_render()
self.on_cleanup()
if __name__ == "__main__" :
theApp = App()
theApp.on_execute()
类方法on_execute
首先调用on_init
方法,在其中初始化pygame并设置显示模式,然后执行事件循环,处理pygame事件并呈现当前帧。 / p>
仅当捕获到pygame.QUIT
事件时,事件循环才会退出,并调用pygame.quit()
来清理pygame环境。然后应用程序也结束。
如果这不能帮助您共享崩溃消息。因此,请尝试从命令行执行代码。