1. ホーム
  2. スクリプト・コラム
  3. パイソン

[解決済み】pygame.error: ビデオシステムが初期化されていない

2022-01-10 18:09:38

質問

私のpygameのコードです。

import os
import sys
import math
import pygame
import pygame.mixer
from pygame.locals import *

black = 0,0,0
white = 255,255,255
red = 255,0,0
green = 0,255,0
blue = 0,0,255

screen = screen_width, screen_height = 600, 400

clock = pygame.time.Clock()

pygame.display.set_caption("Physics")

fps_cap = 120
running = True
while running:
    clock.tick(fps_cap)

    for event in pygame.event.get(): #error is here
        if event.type == pygame.QUIT:
            running = False

    screen.fill(white)

    pygame.display.flip()

pygame.quit()
sys.exit    
#!/usr/bin/env python

実行しようとすると、エラーが発生します。

pygame.error: video system not initialized

解決方法は?

を呼び出していない。 pygame.init() を、どこかに書いてください。

をご覧ください。 イントロの基本チュートリアル または、特定の インポートと初期化 のチュートリアルで説明しています。

pygameで多くのことを行う前に、初期化する必要があります。これを行う最も一般的な方法は、1つの呼び出しを行うだけです。

pygame.init()

これは、あなたのためにすべての pygame モジュールを初期化しようとします。すべてのpygameモジュールを初期化する必要はありませんが、初期化が必要なモジュールは自動的に初期化されます。また、それぞれのpygameモジュールを手で簡単に初期化することができます。例えば、fontモジュールだけを初期化する場合は、次のように呼び出します。

あなたの特定のケースでは、おそらく pygame.display を呼び出したことに文句を言っているのです。 set_caption またはその flip を呼び出すことなく、その init を先に実行します。しかし、実際には、チュートリアルが言うように、単に init をすべて先頭にして、何がいつ初期化されなければならないかを正確に把握しようとするよりも。