2017-01-07 9 views
1

Mac OSX 10.10.3でpygame 1.9.3をPygame 1.9.2で使用する& SDL 1.2。 マウスイベントが表示されている間、イベントループでキーボードイベントが捕捉されていません。キーストロークは、無益にターミナルに通されています。 サンプルコード:pygameとキーボードイベント

import pygame, sys 
    from pygame.locals import * 

    pygame.init() 
    display = pygame.display.set_mode((500,500)) 

    while True: 
    #wait for a single event from the queue 
     pygame.event.pump() 
     events = pygame.event.get() 
     for event in events: 
      if event.type == QUIT: 
       print('quitting') 
       pygame.quit() 
       sys.exit() 
      else: 
       if event.type == KEYDOWN: 
        if event.key == K_LEFT: 
         print ("LEFT") 
        if event.key == K_RIGHT: 
         print ("RIGHT") 
        else: 
         print (event.key) 
       if event.type == KEYUP: 
        print('KEYUP') 
      if event.type == pygame.MOUSEBUTTONDOWN: 
       print('got MOUSEBUTTONDOWN') 

助けていただければ幸いです。同様の以前の質問への回答は私の問題を解決していません。

+0

_類似の以前の質問に対する回答は私の問題を解決していませんでした。あなたは他の投稿から正確に何を理解していませんでしたか? –

+0

このコードは私のために働いています(Linuxの場合)。しかし、ウィンドウにフォーカスがある場合にのみ、キー/マウスイベントをPygameに送信することを知る必要があります。あなたが端末に焦点を当てていれば、システムは端末に直接キーを送ります。おそらくこれはあなたの問題です。もしあなたが他のウィンドウに集中したり、PyGameウィンドウを隠したら、システムはPyGameにキーイベントを送信しません。そして、これで何もできません。 – furas

答えて

0

現時点では重複としてマークすることはできませんが、文脈はthis oneと一致します。

短編小説:virtualenvの代わりにpython3 -m venvを使用してください。

関連する問題