我想用自己的形象制作一个小型游戏,用于龟的形状。我已将程序和图像放在同一目录中。每当我运行代码时它会说:
文件" 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")
但仍有同样的错误。
答案 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()