如何让一只乌龟在Python中塑造一个形象?

时间:2018-06-18 10:09:40

标签: python image turtle-graphics

我想用自己的形象制作一个小型游戏,用于龟的形状。我已将程序和图像放在同一目录中。每当我运行代码时它会说:

文件" C:\ Users \ Nobody PC \ Desktop \ THE PROJECT.py",第51行,in     p.shape('贝亚拉')   文件" C:\ Users \ Nobody \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ turtle.py",第2777行,形状     self.turtle._setshape(名称)   文件" C:\ Users \ Nobody \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ turtle.py",第2493行,在_setshape中     if self._type ==" polygon" == screen._shapes [shapeIndex] ._ type: AttributeError:' str'对象没有属性' _type'

我的代码不包含字符串(我认为):

import turtle as t
bear =  "bear.png"
p = t.Turtle()
t.register_shape('beara',bear)
t.bgcolor('black')
p.shape('beara')

我做到了:

t.register_shape('beara',"bear.png")

但仍有同样的错误。

2 个答案:

答案 0 :(得分:0)

除了使用PNG而不是GIF之外,您还没有正确调用乌龟方法。我将强制使用OOP语法而不是您使用的函数语法,以使方法所有权更清晰:

from turtle import Turtle, Screen

image = "bear.gif"

screen = Screen()
screen.bgcolor('black')
screen.register_shape(image)

turtle = Turtle(shape=image)

# ...

screen.mainloop()

请注意,当使用图像作为游标时,文件的名称是形状的名称,您没有为其定义自己的名称(与多边形不同。)

答案 1 :(得分:0)

我认为乌龟模块不接受png作为必须使用gif图像的形状。在您的代码中只需将图像替换为gif图像,并希望它可以工作 检查一下...。

import turtle

t = turtle.Turtle()
screen = turtle.Screen()

screen.addshape('shap1.gif')


t.shape('shap1.gif')
screen.mainloop()