Для каких типов атрибутов можно использовать: 'self.image.get_rect ()' - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь нарисовать свои спрайты в месте, где у меня есть их верхние левые координаты x и y.

Я знаю, что центр - это атрибут, который можно использовать

class walls(pygame.sprite.Sprite):
    def __init__(self, x, y, width, height):
        super().__init__()
        self.width  = width
        self.height = height
        self.x      = x
        self.y      = y

        self.image = pygame.Surface([width,height])
        self.image.fill(black)
        self.rect = self.image.get_rect(center=(self.x, self.y))

Мне не нужны координаты центра, я бы хотел нарисовать это изображение по его верхним левым координатам x и y. Как? Какие другие команды я могу использовать в функции self.image.get_rect ()?

1 Ответ

2 голосов
/ 16 апреля 2019

Атрибут .image объекта pygame.sprite.Sprite содержит объект pygame.Surface.

См. Документацию pygame.Surface:

Вы можете передать значения аргументов ключевых слов в эту функцию.[...] Примером может быть mysurf.get_rect(center=(100,100)) для создания прямоугольника для поверхности с центром в данной позиции.

Это означает, что в эту функцию можно передать любые атрибуты ключевых слов, которые можно установитьдо pygame.Rect

Например,

self.rect = self.image.get_rect(topleft=(100, 100))

создает прямоугольник с верхней левой координатой (100, 100) и шириной и высотой self.image.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...