【问题标题】:Issue with Python TurtlePython Turtle 的问题
【发布时间】:2018-07-25 13:50:15
【问题描述】:

我第一次玩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: 'Player' 对象没有属性 '_orient'"

我有点迷茫,所以任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: python-2.7 turtle-graphics


    【解决方案1】:

    这里的困惑似乎是你试图让 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2015-05-08
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多