2011-06-29 4 views
0

Donc, fondamentalement, je voulais juste créer une classe ennemie avec pygames.sprite.Sprite comme parent. Mais alors j'ai voulu déplacer cet objet de sprite que j'ai créé et l'ajouter à l'écran. Mais il dit que le blit n'est pas un attribut de la classe "Enemy". Désolé pour la nouvelle question, mais comment puis-je faire cela?Problèmes de sous-classement de Pygame?

Classe ennemi:

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() 

Ce que je vous appelle pour essayer d'annonce le sprite à l'écran

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

Répondre

2

Essayez de cette façon:

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

vous devez blit la sprite image dans l'écran pygame pour l'afficher.

0

Sprite s peuvent être placés dans SpriteGroup s, qui ont des fonctionnalités intéressantes, mais aussi tout en un seul bloc.

Pour déplacer l'ennemi, déplacez le rectangle Sprite.

Enemy.rect.topleft = (100,100) 
#draw 
Enemy.rect.center = (400,400) 
#draw