У меня ошибка кортежа — несколько результатов все еще не работают [дубликат]Python

Программы на Python
Ответить
Anonymous
 У меня ошибка кортежа — несколько результатов все еще не работают [дубликат]

Сообщение Anonymous »

Итак, я пытаюсь установить положение спрайта с помощью классов. Но у меня проблема с кодом self.rect.topleft(). Ниже приведены фрагменты всего, что я пробовал, а также сообщения об ошибках для всех из них.
Попробуйте 1:

Код: Выделить всё

class Turtle(pygame.sprite.Sprite):
def __init__ (self, x, y):
super().__init__()
self.image = pygame.image.load('turtle1.png')
self.rect = self.image.get_rect()
self.rect.topleft[x, y]

turtlebody = Turtle(275, 650)

turtle_group = pygame.sprite.Group()
turtle_group.add(turtlebody)
Сообщение об ошибке:

Код: Выделить всё

    self.rect.topleft[x, y]
~~~~~~~~~~~~~~~~~^^^^^^
TypeError: tuple indices must be integers or slices, not tuple
Попробуйте 2:

Код: Выделить всё

class Turtle(pygame.sprite.Sprite):
def __init__ (self, x, y):
super().__init__()
self.image = pygame.image.load('turtle1.png')
self.rect = self.image.get_rect()
self.rect.topleft(x, y)

turtlebody = Turtle(275, 650)

turtle_group = pygame.sprite.Group()
turtle_group.add(turtlebody)
Сообщение об ошибке:

Код: Выделить всё

    self.rect.topleft(x, y)
~~~~~~~~~~~~~~~~~^^^^^^
TypeError: 'tuple' object is not callable
Попробуйте 3:

Код: Выделить всё

class Turtle(pygame.sprite.Sprite):
def __init__ (self, x, y):
super().__init__()
self.image = pygame.image.load('turtle1.png')
self.rect = self.image.get_rect()
self.rect.topleft[x][y]

turtlebody = Turtle(275, 650)

turtle_group = pygame.sprite.Group()
turtle_group.add(turtlebody)
Сообщение об ошибке:

Код: Выделить всё

  self.rect.topleft[x][y]
~~~~~~~~~~~~~~~~~^^^
IndexError: tuple index out of range
Последняя попытка:

Код: Выделить всё

class Turtle(pygame.sprite.Sprite):
def __init__ (self, x, y):
super().__init__()
self.image = pygame.image.load('turtle1.png')
self.rect = self.image.get_rect()
self.rect.topleft[x][y]

x = 275
y = 650

turtlebody = Turtle(275, 650)

turtle_group = pygame.sprite.Group()
turtle_group.add(turtlebody)
Сообщение об ошибке: то же, что и в примере 3.
Я ожидал, что он запустится и разместит мой спрайт (черепаху) по координатам.>

Подробнее здесь: https://stackoverflow.com/questions/791 ... o-not-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»