我是第一次玩pythons turtle模块(也是python的初学者),遇到了问题。我正在尝试定义一个具有特定方法的类,该方法会转动乌龟,然后将其向前移动。这是代码:
class Player(Turtle):
def __init__(self):
self = turtle.Turtle()
self.ht()
self.pu()
self.color("white")
self.setpos(0, -270)
self.speed(3)
self.st()
def moveLeft(self):
self.setheading(180)
self.fd(10)
运行程序(创建播放器实例)时,出现以下错误:
“ AttributeError:“玩家”对象没有属性“ _orient””
我有点迷失了,任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
这里的困惑似乎是您试图让Player subclass Turtle和 contain 都变成Turtle。通常我们会做一个或另一个,但不能两者都做。以下是子类方法的解决方案:
from turtle import Turtle, Screen
class Player(Turtle):
def __init__(self):
super(Player, self).__init__(visible=False)
self.penup()
self.color("white")
self.setposition(0, -270)
self.speed('slow')
self.showturtle()
def moveLeft(self):
self.setheading(180)
self.forward(10)
screen = Screen()
screen.bgcolor("black")
p = Player()
p.moveLeft()
screen.exitonclick()