[英]Turtle graphics setpos() does nothing
出于某种原因,我的代码一直有效,直到它到达第 67 行(粗体文本)。 cursor 应该在 y 轴上向下移动 100px,但它会停留在那里并在第二个深蓝色的框上绘制框。 有谁知道这是为什么。 帮助将不胜感激。 我还是 Python 的新手。
def drawbox():
for x in range (4):
avo.color('white', 'blue')
avo.begin_fill()
for x in range(2):
avo.forward(400)
avo.right(90)
avo.forward(100)
avo.right(90)
avo.end_fill()
avo.penup()
avo.setpos(0,-100)
avo.pendown()
avo.color('white', 'darkblue')
avo.begin_fill()
for x in range(2):
avo.forward(400)
avo.right(90)
avo.forward(100)
avo.right(90)
avo.end_fill()
avo.penup()
**avo.setpos(0,-100)**
avo.pendown()
continue
turtle.done()
drawbox()
问题是setpos()
工作在绝对位置,而您想移动到相对于您现在所在位置的 position。 通过做:
avo.setpos(0,-100)
你总是回到屏幕上的同一个位置。 尝试将您的两个setpos()
调用更改为:
avo.sety(avo.ycor() - 100)
或者,更好的是,稍微重新设计您的程序以将海龟指向正确的方向,并在每个框后简单地向前移动 100 像素:
from turtle import Screen, Turtle
def drawboxes():
turtle.setheading(270)
for _ in range(2):
for fill_color in ('blue', 'darkblue'):
turtle.fillcolor(fill_color)
turtle.begin_fill()
for _ in range(2):
turtle.forward(100)
turtle.left(90)
turtle.forward(400)
turtle.left(90)
turtle.end_fill()
turtle.penup()
turtle.forward(100)
turtle.pendown()
screen = Screen()
turtle = Turtle()
turtle.pencolor('white')
drawboxes()
screen.exitonclick()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.