最初にコードが正しく構成されていません。ループ内でonclick()
を呼び出す必要はありません。ハンドラ関数を設定するだけで、一度呼び出す必要があります。また、mainloop()
は、イベントが終了した後に呼び出されるのではなく、イベントを実行する必要があります。
私はあなたが前方距離を伸ばさない限り、このコードから速度が上がるとは思わない。 fd(3)
に単純にインクリメントすると、顕著な違いが生じます。あなたのコードの私の修正:
from turtle import Turtle, Screen
def click_handler(x, y):
global flag
flag = False
def turtle_forward():
if flag:
turtle.forward(3)
screen.ontimer(turtle_forward, 0)
flag = True
screen = Screen()
screen.onclick(click_handler)
turtle = Turtle()
turtle.speed('fastest')
turtle_forward()
screen.mainloop()
あなたの問題はどうなりますか? 何を達成したいですか? これまでに何を試しましたか? –
私は、カメを使用してPythonでゲームを作成していますが、ループ内のカメの速度を制御することができます –
カメの速度が0で、フラッシュのように動作するはずですが、通常の速度のように実行しています –