1. ホーム
  2. python-3.x

[解決済み] pygame: pygame.KEYDOWNが動作しない

2022-02-20 04:44:29

質問

import pygame
pygame.init()
events = pygame.event.get()
    while True:
    for event in events:
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_1:
                print('this should work!!')

私はpythonもpygameも初心者で、keydownイベントをテストしようとしていますが、うまくいきません。

どのように解決するのですか?

キーボードイベントを使用する前に、いくつかの表示プロパティを設定する必要があります。ウィンドウがなければ、キーイベントもない。 そこで、以下のような内容を while のループで動作するはずです。

WIDTH=600
HEIGHT=480
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))

通常であれば、クロックの設定も clock = pygame.time.Clock() で使用される秒間フレーム数 clock.tick(frames_per_second) ループの前にオブジェクトやプレイヤー、レクトなどがありますが、それはあなたにお任せします。

キーイベントを有効にするための最低限の表示設定をしたコードがこちらです。

import pygame

pygame.init()
WIDTH=600
HEIGHT=480
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))

while True:
    events = pygame.event.get()
    for event in events:
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_1:
                print('this DOES work! :)')