> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 거북이 애니메이션 속도를 늦추는 방법: `while True:`를 `screen.ontimer()`로 바꾸나요?

Python에서 거북이 애니메이션 속도를 늦추는 방법: `while True:`를 `screen.ontimer()`로 바꾸나요?

Patricia Arquette
풀어 주다: 2024-10-29 13:18:02
원래의
583명이 탐색했습니다.

How to Slow Down Your Turtle Animation in Python: Replacing `while True:` with `screen.ontimer()`?

Python에서 Turtle 애니메이션 속도를 제어하는 ​​방법

Python의 Turtle 라이브러리에서는 애니메이션 속도가 너무 빠르다고 인식되는 경우가 많습니다. . 이 문서에서는 애니메이션 속도를 보다 관리하기 쉬운 속도로 조정하는 수정된 코드 조각을 제공하여 문제를 해결합니다.

제공된 코드는 Tracer() 메서드를 사용하여 자동 화면 업데이트를 끄고 새로 고침을 수동으로 제어할 수 있도록 합니다. 비율. 그러나 지속적인 애니메이션을 위해 while True: 루프를 사용하므로 빠른 실행이 가능합니다.

이 문제를 해결하기 위해 수정된 코드는 while True:를 screen.ontimer() 이벤트 함수로 대체합니다. 이 함수는 구성 가능한 지연(밀리초)을 사용하여 화면을 새로 고치고 애니메이션을 진행시키는 반복 이벤트를 예약합니다.

업데이트된 코드는 다음과 같습니다.

<code class="python">import turtle
from turtle import Screen, Turtle

def rectangle(t):
    t.forward(50)
    t.left(90)
    t.backward(5)
    t.pendown()

    for _ in range(2):
        t.forward(10)
        t.right(90)
        t.forward(120)
        t.right(90)

    t.penup()

def windmill(t):
    for _ in range(4):
        t.penup()
        rectangle(t)
        t.goto(0, 0)

screen = Screen()
screen.tracer(0)

turtle = Turtle()
turtle.setheading(90)

def rotate():
    turtle.clear()
    windmill(turtle)
    screen.update()
    turtle.left(1)

    screen.ontimer(rotate, 40)  # adjust speed via second argument

rotate()

screen.mainloop()</code>
로그인 후 복사

두 번째 인수를 조정하여 (밀리초 단위)에서 ontimer()로 애니메이션 속도를 수정할 수 있습니다. 값이 낮을수록 애니메이션이 느려지고, 값이 높을수록 애니메이션이 빨라집니다.

위 내용은 Python에서 거북이 애니메이션 속도를 늦추는 방법: `while True:`를 `screen.ontimer()`로 바꾸나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿