pygame 模块,'pygame.event.get()' 在方法上不起作用吗?

Is pygame module, 'pygame.event.get()' not work on method?

我做了一个游戏,用pygame模块作为键​​盘输入。 但是,它似乎没有回应。 没有错误,但是当我 运行 代码时,我的按键什么也没做。

我尝试使用 pygame.key 但它不起作用。

我不知道这段代码有什么问题。

import pygame

pygame.init()


class keypress():
    def check(self):
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.KEYDOWN:
                    print("Hey, you pressed the key, '0'!")
                if event.key == pygame.K_1:
                    print("Doing whatever")
                else:
                    pass


a = keypress()


if __name__ == "__main__":
    while True:
        a.check()

当我按键时,它基本上什么都不做。

Pygame .

打开 window,修复了输入处理中的几个小错误 ~

  • event.key 需要检查 pygame.K_0,而不是再次检查 KEYDOWN
  • main 循环中的缩进很奇怪。
  • (仍然)无法退出

它的工作原理主要是代码描述的方式:

import pygame
pygame.init()
WINDOW_WIDTH = 400
WINDOW_HEIGHT= 400
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))

class keypress():
    def check(self):
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                # TODO - handle exiting
                pass
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_0:
                    print("Hey, you pressed the key, '0'!")
                elif event.key == pygame.K_1:
                    print("Doing whatever")


a = keypress()
if __name__ == "__main__":
    while True:
        a.check()