Питон: черепаха или ткинтер не понимает UP - PullRequest
0 голосов
/ 24 сентября 2019

Итак, я начинаю писать понг и пишу это:

# teste de python, criando um pong, basicaly

#screen
import turtle

wn = turtle.Screen()
wn.title('pong by dagashy')
wn.bgcolor('black')
wn.setup(width = 800, height = 600)
wn.tracer(0)

# paddle a
paddlea = turtle.Turtle()
paddlea.speed(0)
paddlea.shape('square')
paddlea.color('white')
paddlea.shapesize(stretch_wid=5, stretch_len=1)
paddlea.penup()
paddlea.goto(-350,0)

# paddle b
paddleb = turtle.Turtle()
paddleb.speed(0)
paddleb.shape('square')
paddleb.color('white')
paddleb.shapesize(stretch_wid=5, stretch_len=1)
paddleb.penup()
paddleb.goto(350,0)

# ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape('square')
ball.color('white')
ball.penup()
ball.goto(0,0)

# function
def paddleaup():
    y = paddlea.ycor()
    y += 20
    paddlea.sety(y)

def paddleadown():
    y = paddlea.ycor()
    y -= 20
    paddlea.sety(y)

def paddlebup():
    y = paddleb.ycor()
    y += 20
    paddleb.sety(y)

def paddlebdown():
    y = paddleb.ycor()
    y -= 20
    paddleb.sety(y)

# keyboard binding
wn.listen()
wn.onkeypress(paddleaup, 'w')
wn.onkeypress(paddleadown, 's')
wn.onkey(paddlebup, 'UP')
wn.onkeypress(paddlebdown, 'DOWN')



# screen loop
while True:
    wn.update()

И затем я запускаю в терминале Python и Bum, эта ошибка появляется:

Traceback (most recent call last):
  File "c:/Users/rodri/Desktop/Python/pong/index.py", line 63, in <module>
    wn.onkey(paddlebup, 'UP')
  File "C:\Users\rodri\AppData\Local\Programs\Python\Python37\lib\turtle.py", line 1394, in onkey
    self._onkeyrelease(fun, key)
  File "C:\Users\rodri\AppData\Local\Programs\Python\Python37\lib\turtle.py", line 687, in _onkeyrelease
    self.cv.bind("<KeyRelease-%s>" % key, eventfun)
  File "C:\Users\rodri\AppData\Local\Programs\Python\Python37\lib\turtle.py", line 416, in bind
    self._canvas.bind(*args, **kwargs)
  File "C:\Users\rodri\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1251, in bind
    return self._bind(('bind', self._w), sequence, func, add)
  File "C:\Users\rodri\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1206, in _bind
    self.tk.call(what + (sequence, cmd))
_tkinter.TclError: bad event type or keysym "UP"

Пытался найти что-то подобное, но у кого-то вообще не было проблем с привязкой клавиш и нажатием клавиши в интернете, и если я попытаюсь найти что-то с последней ошибкой, появиться с чем-то из tkinter, и мне нужна помощь сturtle

edit: я пошел в документацию по черепахе, чтобы найти некоторые ключевые символы, чтобы увидеть, если UP не прав, но я вообще ничего не нахожу

...