1. ホーム
  2. python

[解決済み] pygame.error: ビデオシステムが初期化されていません。

2022-01-30 04:04:09

質問

を実行しようとすると、このエラーが表示されます。 pygame のコードになります。 pygame.error: video system not initialized

from sys import exit
import pygame
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")

def game_loop():
  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()
  exit()

game_loop()
#!/usr/bin/env python

解決方法は?

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

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

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

pygame.init()

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

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