そのため、pygameコードを実行しようとすると次のエラーが発生します:pygame.error:ビデオシステムが初期化されていません
翼がどこにあるかを指定しますIDEは、以下のコードのどこにあるかを教えてくれます
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.init()
どこにも電話をかけていません。
基本的なイントロチュートリアル 、または特定の インポートと初期化 チュートリアルを参照してください。
Pygameで多くのことを行う前に、それを初期化する必要があります。これを行う最も一般的な方法は、1回の呼び出しです。
pygame.init()
これにより、すべてのpygameモジュールが初期化されます。すべてのpygameモジュールを初期化する必要はありませんが、これにより自動的に初期化されます。また、手動で各pygameモジュールを簡単に初期化することもできます。たとえば、呼び出すフォントモジュールのみを初期化します。
あなたの特定のケースでは、おそらく pygame.display
は、最初にflip
を呼び出さずに、そのset_caption
またはinit
のいずれかを呼び出したことを訴えています。しかし、実際には、チュートリアルが言うように、何を初期化する必要があるのかを正確に把握するよりも、すべてを先頭にあるinit
にした方がよいでしょう。
(set_caption()
を使用して)ウィンドウのタイトルを設定しようとするとエラーが発生しますが、pygameウィンドウを作成していないため、screen
変数は、将来のウィンドウ。
Pygameウィンドウを作成するには、pygame.display.set_mode(windowSize)
を呼び出す必要があります。
幸運を :)
1この問題は、ベータ版を使用している場合に発生します。
2なので、私の提案は、新旧バージョンを使用してください(3.8 Pythonをランチする場合は、python 3.7)をインストールする必要があります)
3ここで、goto python terminal and install pygame(pip install pygame)
4これで問題は解決しました...
追加する必要があります:
pygame.init()
表示を終了する前に、whileループを停止する必要があります。
'pygame.init()'を実行している場合は、初期化されたビデオシステムの問題を解決します。 (AttributeError: 'Tuple' object has no attribute 'fill')thisのような次のエラーが表示されます。
この問題は、「screen = pygame.display.set_mode((600,400))」を実行しているが、「screen = screen_width、screen_height = 600、400」のように実行していない場合に解決されます。
その後、完全な問題が解決されます。