2017-08-28 4 views
0

ヘルプ、私はカメの方向を制御するためにキーボードを使用するカメグラフィックプログラムを作成しようとしていますが、それを開くたびにクラッシュします!タートルグラフィックスがクラッシュする

import keyboard 
from turtle import * 
keyboard.add_hotkey('Up arrow', lambda: 
        forward(2)) 
keyboard.add_hotkey('Left arrow', lambda: 
        left(2)) 
keyboard.add_hotkey('right arrow', lambda: 
        right(2)) 

答えて

0

まず、我々は、キーボードと画面の周りカメを移動するkeboardモジュールを必要としない、我々は亀の独自のキーボードイベントを使用することができます。

import turtle 

turtle.shape("turtle") 

turtle.onkey(lambda: turtle.forward(20), "Up") 
turtle.onkey(lambda: turtle.left(45), "Left") 
turtle.onkey(lambda: turtle.right(45), "Right") 

turtle.listen() 
turtle.mainloop() 

ウィンドウをクリックすることを確認します入力する前にそれをアクティブにする。あなたが本当にkeybardモジュールを使用したい場合は、これは私のために働いているようだ:

import turtle 
import keyboard 

turtle.shape("turtle") 

keyboard.add_hotkey('up arrow', turtle.forward, args=[20]) 
keyboard.add_hotkey('left arrow', turtle.left, args=[45]) 
keyboard.add_hotkey('right arrow', turtle.right, args=[45]) 

turtle.mainloop() 

あなたはまたlambdaバリアントを使用することができます私のシステム(OSX)の上にそれが困難であったが

keyboard.add_hotkey('right arrow', lambda: turtle.right(45)) 

を(後でキーを押すまで実行されなかった複数のイベントを生成し、管理者として実行したいなど)

関連する問題