【发布时间】:2017-11-19 21:51:42
【问题描述】:
如何在一个屏幕中制作几只海龟并让它们同时移动一只?
【问题讨论】:
-
谁能帮帮我?
-
你可以创建下一个海龟
turtle2 = turtle.Turtle()并使用它turtle2.goto(100, 100)
标签: python-3.x oop python-3.6 turtle-graphics
如何在一个屏幕中制作几只海龟并让它们同时移动一只?
【问题讨论】:
turtle2 = turtle.Turtle()并使用它turtle2.goto(100, 100)
标签: python-3.x oop python-3.6 turtle-graphics
您可以使用turtle.Turtle()创建许多海龟,然后您可以一个一个地使用它来进行小动作。海龟几乎同时移动。
import turtle
t1 = turtle.Turtle()
t2 = turtle.Turtle()
for x in range(36):
# first turtle makes small move
t1.left(10)
t1.forward(10)
# second turtle makes small move
t2.right(10)
t2.forward(10)
turtle.done()
如果你想一直移动(同时做其他事情)
那么你可以使用ontimer()来做一些小动作。
import turtle
def move_t1():
# first turtle makes small move
t1.left(10)
t1.forward(10)
# repeat after 100ms
turtle.ontimer(move_t1, 100)
def move_t2():
# second turtle makes small move
t2.right(10)
t2.forward(10)
# repeat after 100ms
turtle.ontimer(move_t2, 100)
t1 = turtle.Turtle()
t2 = turtle.Turtle()
move_t1() # first turtle makes first move
move_t2() # second turtle makes first move
turtle.done()
【讨论】:
__init__ 应该是相似的,getPosition 应该很简单 - 它应该使用 t.position()。至于move() 和moveToLight 那么应该是相似的,他们应该使用ontimer 来移动海龟 - 或者他们应该将目标位置保留在变量中并运行使用该变量移动海龟的其他函数。
ontimer 重复它。