Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что значит эта ошибка в Python.

Максим Еропкин Ученик (42), на голосовании 5 лет назад
Traceback (most recent call last):
File "C:\Phython\crummy_code.py", line 22, in
if keys[pygame.K_LEFT]:
TypeError: 'builtin_function_or_method' object is not subscriptable
Голосование за лучший ответ
mike man Профи (788) 5 лет назад
Не мог бы хоть часть кода кинуть? Я не по питону, но разобраться, думаю не сложно. Оно говорит что ты обращаешься к объекту как к контейнеру, но при этом объект не является контейнером
Максим ЕропкинУченик (42) 5 лет назад
import pygame

pygame.init()
win = pygame.display.set_mode((500, 500))

pygame.display.set_caption("LoL's")

x = 50
y = 50
widht = 40
height = 60
speed = 5

run = True
while run:
pygame.time.delay(100)

for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed

pygame.draw.rect(win, (0,0,255), (x, y, widht, height))
pygame.display.update()

pygame.quit()
mike man Профи (788) Я не бэкенд, но почему у тебя if keys []? [] - массив во всех языках. Попробуй if keys == pygame.K_LEFT; и по тому же принципу пробуй. Если прочитать, то у тебя Если кейс [массив pygame.K_DOWN]. В моём же варианте если кейс =равен= pygame.K_LEFT (действие)
syntman Гуру (2656) 5 лет назад
Обычно это говорит что для функции не хватает скобок ()
Похожие вопросы