我想要使用Sprite模塊中的Group類繪製一個區域或部分精靈。通過在Pygame中使用Group類來繪製區域或部分精靈
所以我有這個類來處理我的精靈:
(...是的,pygame的已被導入。)
class Sprite(pygame.sprite.Sprite):
def __init__(self, player):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(player)
self.image = pygame.transform.scale(self.image, (300, 75))
startPoint = (100, 500)
self.rect = self.image.get_rect()
self.rect.bottomleft = (startPoint)
然後,我上傳使用精靈:
someFile = Sprite(join('res', 'file.png'))
spriteGroup = pygame.sprite.RenderUpdates(someFile)
最後,我通過使用spriteGroup.draw(source)
然而,我的問題是,我想只繪製一個小區域或部分原始文件im年齡。現在,我知道使用Surface.blit()
我可以傳遞一個可選的區域矩形,代表要繪製的源表面的較小部分。
集團子類RenderUpdates有draw()
方法,所以它不會接受這種參數...同時,Surface.blit()
(即使我可以用它)是不是一種選擇,因爲blit()
預計座標繪製來源,但我已經從上面的課程中定義了這些。
所以......我怎麼能通過像(0, 0, 75, 75)
這樣的參數分別表示我的精靈的第一個x和y,寬度和高度,以便只繪製那部分?
你是個天才!我讀了關於set_clip(),但我不知道如何在我的精靈上使用它...原始圖像。感謝您的幫助! –