我正试图通过按下";q〃;钥匙没有错误,但由于某种原因它不起作用。请帮忙。
import pygame
screen = pygame.display.set_mode((0,0))
screen_rect = screen.get_rect()
pygame.init()
flag = True
class Ship:
def __init__(self):
self.image = pygame.image.load('images/ship.bmp')
self.rect = self.image.get_rect()
self.rect.center = screen_rect.center
def blitme(self):
screen.blit(self.image,self.rect)
def keydown(event):
if event.key == pygame.K_q:
flag = False
ship = Ship()
while flag:
for event in pygame.event.get():
if event.type == pygame.QUIT:
flag = False
elif event.type == pygame.KEYDOWN:
keydown(event)
screen.fill((0,0,128))
ship.blitme()
pygame.display.flip()
flag = True
时游戏循环正在工作。当我点击窗口退出按钮时,关闭窗口是有效的,但按q没有任何结果。
如果要在函数中写入全局命名空间中的变量,则必须使用global
语句将该变量解释为global:
def keydown(event):
global flag
if event.key == pygame.K_q:
flag = False
如果未将变量声明为全局变量,则会在函数。