Проблемы с подклассами Pygame? - PullRequest
0 голосов
/ 29 июня 2011

Итак, я просто хотел создать класс противника с pygames.sprite.Sprite в качестве родителя. Но затем я захотел переместить этот созданный мной спрайт, а также добавить его на экран. Но там сказано, что блит не является атрибутом класса "враг". Извините за вопрос новичка, но как мне это сделать?

Класс врага:

class Enemy(pygame.sprite.Sprite):
#Class for falling enemys
def __init__(self):

# initialize the pygame sprite 
    pygame.sprite.Sprite.__init__(self)

# set image and rect
    self.image = pygame.image.load("enemysprite.png").convert()
    self.rect = self.image.get_rect()

То, что я звоню, чтобы попытаться рекламировать спрайт на экране

enemy = Enemy()
enemy.blit(100,100)
pygame.display.update()

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Попробуйте так:

pygame.init()
screen = pygame.display.set_mode([320, 240])
enemy = Enemy()
screen.blit(enemy.image, enemy.rect)
pygame.display.update()

Вы должны стереть изображение спрайта на экране пигмея, чтобы отобразить его.

0 голосов
/ 22 сентября 2011

Sprite s могут быть размещены в SpriteGroup s, которые имеют приятные функции, но также и все в одной партии.

Чтобы переместить противника, переместите прямоугольник Sprite.

Enemy.rect.topleft = (100,100)
#draw
Enemy.rect.center = (400,400)
#draw
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...