如何解决类型错误:turn_left() 缺少 1 个必需的位置参数:'self'
我无法克服这个错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Usuario\AppData\Local\Programs\Python\python39\lib\tkinter\__init__.py",line 1884,in __call__
return self.func(*args)
File "C:\Users\Usuario\AppData\Local\Programs\Python\python39\lib\turtle.py",line 687,in eventfun
fun()
TypeError: turn_left() missing 1 required positional argument: 'self'
我不知道我做错了什么。
我正在使用 Turtle。
class Player(Sprite):
def __init__(self,spriteshape,color,startx,starty):
Sprite.__init__(self,starty)
self.speed = 4
self.lives = 3
def turn_left(self):
self.lt(45)
def turn_right(self):
self.rt(45)
def accelarate(self):
self.speed += 1
def decelarate(self):
self.speed -= 1
turtle.onkey(Player.turn_right,"Right")
turtle.onkey(Player.turn_left,"Left")
turtle.onkey(Player.accelarate,"Up")
turtle.onkey(Player.decelarate,"Down")
turtle.listen()
解决方法
self
对象在创建类的实例时启动,您没有这样做,因此它找不到必需的 参数 self
。>
试试这个:
P = Player(spriteshape='your-shape',color='your-color',startx='start-x-value',starty='start-y-value)
turtle.onkey(P.turn_right,"Right")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。