2016-12-26 19 views
1

パイガムを知り、最初のゲームを書くのをゆっくりと試みています。正直言って、私は早く問題を予期しませんでした。パイガムディスプレイが応答しない

import pygame 

pygame.init() 

(width, height) = (1000, 700) 
screen = pygame.display.set_mode((width, height)) 
while True: 
    pygame.display.flip() 

をしかし、ウィンドウが表示されたら、それは「応答していない」と言う:これまでのところ、私はそれだけでは、無期限にそこことになって、ディスプレイを設定している(私はちょうどそれを試してみたかったです)。私はループを削除しようとしましたが、ディスプレイは一度点滅して消えてしまいました。なぜなら、プログラマーは作成された後に死んでしまいますが、同じ「応答しない」ウィンドウを得るからです。私はpygame 1.9.2とpython 3.5を使用しています。私はトラブルがanacondaのためかもしれないのだろうかと思う - デフォルトでanacondaのサブカートとしてウィンドウが開かれる。

編集:これまで私はスパイダーではなく、ファイルをクリックするだけでうまく動作することを発見しました。スパイダーや簡単な方法で動作させる方法はありますか?

答えて

1

これをループに追加します。私にとっては、それが応答しない唯一の時間は、Xをクリックするときです。これは、pygameがそのときに何をすべきかを知らないという事実と関係している可能性があります。

import sys 

for evt in pygame.event.get(): 
     if evt.type == pygame.QUIT: 
      pygame.quit() 
      sys.exit() 
+1

プログラムは、定期的にイベントを処理する必要があるか、OSがpygameのがクラッシュしたと考えています。そのため、 'pygame.event.get()'を追加すると動作します。 http://stackoverflow.com/documentation/pygame/5110/event-handling#t=201612261318490992061 –

+0

Ah、ok。私の解決策はうまくいくはずですが、それは正しい説明です – Octo

+0

あなたのインデントは少しですが、それ以外の場合は質問に答えてください。このソリューションがなぜ機能するのかを説明する行を追加することができれば、それは素晴らしいことでしょう!私のリンクでは、最初の例の3番目の箇条書きと2番目の例の**注意**の部分に簡単な説明があります。 –

1
#Try This 


import pygame 

(width, height) = (1000, 700) 
screen=pygame.display.set_mode((width, height)) 
pygame.display.update() 
while True: 
    for event in pygame.event.get():`` 
     if event.type == pygame.QUIT: 
      pygame.quit() 
      quit() 
関連する問題