Для каких типов атрибутов можно использовать: 'self.image.get_rect ()'

1

Я пытаюсь нарисовать свои спрайты в месте, где у меня есть их верхние левые координаты 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()?

Теги:
pygame

2 ответа

0

Я гуглил self.image.get_rect(), где ничего не мог найти, но теперь я понял, что self.image - это то, над чем я выполняю эту функцию. Я погуглил get_rect() и нашел команду topleft. Извините за неприятности!

0

.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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню