前提・実現したいこと
Pyxelを使って簡単なゲームを作成しており、ゲーム終了時のウィンドウ削除を行おうとしています。
発生している問題・エラーメッセージ
Qキーで終了しようとしても(Appクラスのupdate関数内に記述)、escキーで終了しようとしても、ウィンドウが応答なしになってしまい、正常に終了できません。原因の見当がつく方、ぜひ教えていただけたらありがたいです。
・終了処理以外はうまくいきます。
・WinPython付属のSpyder3上で実行しています。
・pyxelのバージョンは1.4.3ですが、1.4.2でも終了できませんでした。
・学校のPCと自宅のPC(ともにWin10)のどちらでも同じ結果になってしまいます。
・同じくWinPython付属のIDLEでも同じく正常に終了できません。
・公式のいずれのサンプルプログラムでも終了できません。以下にはそのうちの「01_hello_pyxel.py」をそのまま貼っておきます。
該当のソースコード
Python
1import pyxel 2 3 4class App: 5 def __init__(self): 6 pyxel.init(160, 120, caption="Hello Pyxel") 7 pyxel.image(0).load(0, 0, "assets/pyxel_logo_38x16.png") 8 pyxel.run(self.update, self.draw) 9 10 def update(self): 11 if pyxel.btnp(pyxel.KEY_Q): 12 pyxel.quit() 13 14 def draw(self): 15 pyxel.cls(0) 16 pyxel.text(55, 41, "Hello, Pyxel!", pyxel.frame_count % 16) 17 pyxel.blt(61, 66, 0, 0, 0, 38, 16) 18 19 20App() 21
試したこと
sys.exit()をpyxel.quit()の代わりに書いてみましたが、相変わらず応答なしでした。
(ただ、もしそれで終了できたとしても、公式のサンプルがうまく動かない時点で根本的解決にはなりませんが...。)
回答1件
あなたの回答
tips
プレビュー