Как нарисовать всю картину сразу в Python, используя черепаху? - PullRequest
0 голосов
/ 06 февраля 2019

Я делаю аналоговые часы на Python, используя черепаху.Он должен обновляться каждые t секунд.Для этого я перерисовываю его каждые t секунд.Мне нужно, чтобы он был перерисован немедленно (теперь он размещает все элементы один за другим, занимая больше моих t секунд).Как я могу это сделать?На самом деле, его не нужно перерисовывать каждые t секунд, просто руки должны двигаться.Есть ли другой, более простой способ?

Я пытался сделать скорость 0, но это не помогает.Может быть, есть другие способы заставить руки двигаться?

turtle.reset()
turtle.speed(0)
while True:
    turtle.reset()
    clock_face.draw()
    hour_hand.showCurrentTime()
    minute_hand.showCurrentTime()
    second_hand.showCurrentTime()
    turtle.up()
    time.sleep(t)

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете использовать turtle.tracer(0, 0), который отключит анимацию и должен значительно ускорить вашу анимацию.Если вы решите отключить анимацию, вам нужно будет использовать turtle.update() в конце кода.

Однако, если вы хотите, чтобы он анимировался так часто, первым параметром будет какое-то значение n, которое будет анимироватьn-ая анимация, а вторая - задержка.

Некоторые люди работают очень быстро:

Как ускорить функцию python 'turtle' и остановить еезамерзание в конце

...