ゲームループを使用する通常のイベント駆動型プログラムと同様に動作するPython Turtleプログラムを作成しようとしています。プログラムは以下のようにマウス、キーボード、タイマーのイベントをミックスしようとします。Python turtleプログラムでのイベントの混合
私の問題は、pythonはontimer()ループとonkey()イベントを混在させることができないようです。実行すると、プログラムはカメをアニメーション化し、onclick()イベントが機能します。キーを押しても、マウスを最初にクリックするまで登録されません。その後、キーを押して終了すると、シェルの大きなエラーリストが表示されます。 bye()メソッドは、裕福な方法でプログラムを終了させ、優雅にシャットダウンしないようです。
私は正しい順序でコマンドがあると思います。
ご了承ください。私はあなたのコードを見
import turtle
playGround = turtle.Screen()
playGround.screensize(800, 600, 'light blue')
bob = turtle.Turtle()
bob.color('red')
bob.pencolor('red')
bob.ht()
def teleport(x,y):
bob.goto(x,y)
def quitThis():
playGround.bye()
def moveAround():
bob.fd(10)
bob.rt(15)
playGround.ontimer(moveAround,30)
playGround.onclick(teleport,btn=1)
playGround.onkey(quitThis,'q')
moveAround()
playGround.listen()
playGround.mainloop()