Macでpygameがキーボードイベントを受けつけない
pythonでゲームを作るときにpygameというライブラリがよく使われます。
pygameをMacで使う時に発生した問題点と解決方法について書きます。
問題
- pygameでウィンドウを開いても、キーボードイベントを受けつけない(マウスイベントは受けつける)
- pygameで開いたウィンドウにフォーカスされない(常にウィンドウの開き元にフォーカスがある)
- anacondaなどの仮装環境でpythonを使用すると発生する
- Windowsでは、この問題は発生しない
原因
- anacondaなどの仮装環境でpythonを使用したとき、Macが独立したGUIとして認識しないのではないか?
- OSX側に問題がありそう
対処
brewなどでpythonを独立したアプリとしてOSの直下で動作させる
brewでインストールすると/usr/local/Cellarにインストールされ、/usr/local/binにリンクが貼られる
/usr/local/bin/python3 -> ../Cellar/python3/3.6.3/bin/python3
- brewでpython3をインストール
brew install python3
- /usr/local/binのpython3を起動する
/usr/local/bin/python3 hogehoge.py