Pygame子类化问题?

时间:2011-06-29 18:01:10

标签: python pygame

所以基本上我只是想创建一个以pygames.sprite.Sprite为父类的敌人类。但后来我想移动我创建的精灵对象,并将其添加到屏幕上。但它说blit不是“Enemy”类的属性。抱歉新问题,但我该如何做呢?

阶级敌人:

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 个答案:

答案 0 :(得分:2)

尝试这种方式:

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

你必须在pygame屏幕中显示精灵图像才能显示它。

答案 1 :(得分:0)

Sprite可以放在SpriteGroup s中,它具有很好的功能,但也可以在一批中进行blit。

要移动敌人,请移动Sprite的矩形。

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