Pygame の KEYDOWN 関数

Maxim Maeder 2023年6月21日
Pygame の KEYDOWN 関数

この短いチュートリアルでは、Pygame で KEYDOWN を使用する方法を示します。

Pygame の KEYDOWN 関数

KEYDOWN関数を使用すると、キーが押された瞬間をキャプチャし、それは一定です。 pygame.event.get() メソッドによって返されるイベント タイプに対してテストします。

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit()
    elif event.type == pygame.KEYDOWN:
        # your code
        pass

キーを押している間は出力されません。 これを変更するには、2つのオプションがあります。

pygame.key.set_repeat(delay) メソッドを呼び出して、ミリ秒単位で時間を渡すことができます。その後、押したままにすると、イベントが再度呼び出されます。 次に、指定した時間後に押した後に発火します。

このようにするのはベスト プラクティスではなく、pygame.key.get_pressed を使用して、以下に示すキーを確認することをお勧めします。

keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
    print("W Pressed")

完全なコード:

# Imports
import sys
import pygame

# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

pygame.key.set_repeat(10)

# Game loop.
while True:
    screen.fill((20, 20, 20))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            # your code
            pass

    keys = pygame.key.get_pressed()
    if keys[pygame.K_w]:
        print("W Pressed")

    pygame.display.flip()
    fpsClock.tick(fps)
著者: Maxim Maeder
Maxim Maeder avatar Maxim Maeder avatar

Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.

GitHub

関連記事 - Pygame Function