海龟默认的画笔形状(shape)包括箭头、三角、方形、圆形和海龟,通过设置resizemode和shapesize,可以改变它们的大小。
import turtle
pen = turtle.Turtle()
pen.shape('turtle')
pen.shapesize(5, 5, 1)
turtle.done()
通过turtle的register_shape指令,可以新增更多的画笔shape。
register_shape支持三种添加方式:
1.添加指定的图片作为画笔的shape
import turtle
turtle.register_shape('seastar.gif')
pen = turtle.Turtle()
pen.shape('seastar.gif')
turtle.done()
示例代码通过register_shape指令添加seastar.gif图片作为画笔的新形状。
添加完毕后就可以通过画笔的shape指令来进行使用,使用时直接输入图片的名称即可。
使用自己的图片作为画笔shape时需要注意,首先海龟仅支持gif图片,另外这样的画笔shape无论怎样设置resizemode均不能通过shapesize指令进行笔头大小设置。以图片作为shape,笔头的大小就是由图片本身大小所决定的。
2.添加用元组作为坐标描述的多边形作为画笔的shape
import turtle
turtle.register_shape('my_sq', ((-10, 10), (10, 10), (10, -10), (-10, -10)))
pen = turtle.Turtle()
pen.shape('my_sq')
turtle.done()
示例代码用元组描述了一个多边形(边长为20的正方形),这个多边形作为画笔形状被起名字为my_sq。
使用这个形状作为笔头形状时,只要通过画笔的shape指令就可以。pen.shape('my_sq')。
用多边形描述的笔头形状,是可以通过shapesize来改变笔头的大小的。
3. 与第2种类似,只不过这次第二个参数是Shape类型的对象,通过Shape类型对象来描述笔头形状。