您好我试着学习如何在python中使用turtle,我做了以下代码来绘制我的姓名首字母(V T),但我不知道如何摆脱黑线。
import turtle
def draw_myname():
window = turtle.Screen()
window.bgcolor("red")
#Create the V letter - Draw V
vita = turtle.Turtle()
vita.shape("turtle")
vita.color("yellow")
vita.speed(2)
vita.right(75)
vita.forward(100)
vita.left(150)
vita.forward(100)
vita.right(75)
#Create the T letter - Draw T
vita = turtle.Turtle()
vita.goto(100,0)
vita.shape("turtle")
vita.color("blue")
vita.forward(5)
vita.forward(100)
vita.back(50)
vita.right(90)
vita.forward(100)
window.exitonclick()
draw_myname()
答案 0 :(得分:3)
您必须设置turtle.up()
,以便在移动时不会划线。移动前和准备好添加vita.up()
时添加vita.down()
。
#Create the T letter - Draw T
vita = turtle.Turtle()
vita.up() #add this
vita.goto(100,0)
vita.down() #add this
vita.shape("turtle")
vita.color("blue")
vita.forward(5)
vita.forward(100)
vita.back(50)
vita.right(90)
vita.forward(100)
答案 1 :(得分:1)
使用 python 3.8,带乌龟。 我的经验是获取背景,设置笔颜色后,使用color(col),在以下两种情况下都返回col:
foreground, background = color()
foreground = pencolor()
background = fillcolor()
我在“擦除线条”方面的唯一成功,例如,用相同颜色的较细线条替换较粗线条是使用以下代码,明确使用“白色”作为背景:
side = 100
def move_x():
""" Change current and subsequent lines to a thinner line
"""
foreground = pencolor()
background = "white"
print(f"foreground:{foreground} background:{background}")
color(background) # Erase previous line
backward(side)
color(foreground)
t = width()
t -= 1
if t < 1:
t = 1
width(t)
forward(side)
答案 2 :(得分:0)
使用功能penup()
。或者,对于您来说,vita.penup()
。
答案 3 :(得分:0)
除了发布的其他答案外,另一种方法可能是:
您不必重新定义乌龟(命名乌龟,更改其形状和材质),但必须更改其颜色。
此外,如果您要擦除黑线,我使用的方法是将乌龟的颜色更改为背景色并重叠黑线。