ここ (または率直に言って、どこのフォーラムでも) に初めて投稿しますが、ウィンドウの終了ボタン [x] が押されたときに終了できないのはなぜだろうと思っていました。私が試してみました:
#print "Exit value ", pygame.QUIT
for et in pygame.event.get():
#print "Event type ", et.type
if et.type == pygame.KEYDOWN:
if (et.key == pygame.K_ESCAPE) or (et.type == pygame.QUIT):
print "In Here"
return True;
pygame.event.pump()# not quite sure why we do this
return False;
[x]をクリックすると、イベントタイプが「12」を出力するプログラムを実行すると、pygame.QUITが12の値を出力することがわかりました。これらの場合、「In here」文字列は出力されません。return が true の場合 (キーボードで ESC を押した場合)、プログラムは正しく終了します。私はいくつかの関連する問題を見てきました:
私はIDLEで実行していません。次で実行しています:
Eclipse Juno Service Release 1.
Python 2.7.3 と 2.7 用の最新バージョンの pygame (2013 年 3 月 4 日現在)。
Windows 7 & 8 および Ubuntu 12.04LTS (Ubuntu でのサウンドカードなしエラー以外は同じ結果)
プログラムを実行する.pyファイルをダブルクリックしてWindows 7で実行しましたが、[x]で終了しません。前もって感謝します。