我们可以在 turtle.shape() 中添加形状吗?

Can we add shape in turtle.shape()?

我想编写白板程序,所以我想把乌龟的形状改成笔。 我想知道 turtle.shape() 中我们是否有 turtle 中的东西可以进一步添加 - 比如笔 - 形状? 如果我们有,我们如何添加它?

添加新海龟光标形状的关键是屏幕方法 register_shape()(又名 addshape())。您可以使用多边形(单个或多个)或图像文件(传统上是 *.GIF 但最近也有 *.PNG,具体取决于 tkinter 的基础版本)来定义新形状。

注册形状后,可以使用乌龟shape() 方法将光标更改为新形状。基于乌龟文档:

from turtle import Screen, Turtle

screen = Screen()
screen.register_shape("custom.gif")

turtle = Turtle()
turtle.shape("custom.gif")

但是,图像不会随乌龟一起旋转。为此,您可以定义基于多边形的形状:

screen.register_shape("right_triangle", ((-10, 10), (-10, -10), (10, -10)))

turtle = Turtle()
turtle.shape("right_triangle")

尽管多边形图像的方向可能与您预期的不同,因此您可能需要旋转海龟或调整多边形坐标。