Я не могу заставить мою таблицу спрайтов работать в Pygame - PullRequest
0 голосов
/ 22 июня 2019

Я получаю:

spritesheet объект не имеет атрибута totalCellCount

Я впервые работаю со спрайтами.

class spritesheet:
    def __init__(self,filename,columns,rows):
        sheet = image.load(filename)
        totalCellCount = columns * rows
        rect = sheet.get_rect()
        spriteWidth = cellWidth = rect.width / columns
        spriteHeight = cellHeight = rect.height / rows
        halfSpriteWidth, halfSpriteHeight = cellCenter = (spriteWidth/2,spriteHeight/2)
        cells = list([(index % columns * spriteWidth, index / columns * spriteHeight,spriteWidth,spriteHeight)for index in range(totalCellCount)])
        handle = list([
            (0,0), (-1*halfSpriteWidth,0),(-1*spriteWidth,0),
            (0,-1*halfSpriteHeight),(-1*halfSpriteWidth,-1*halfSpriteHeight),
            (-1*spriteWidth,-1*halfSpriteHeight),(0,-1*spriteHeight),
            (-1*halfSpriteWidth,-1*spriteHeight),(-1*spriteWidth,-1*spriteHeight)])
    def draw(surface,cellIndex, x,y,handle = 0):
        surface.blit(sheet(x + handle[handle][0], y + handle[handle][1]),cells[cellIndex])

Часть ниже находится в игровом цикле FYI

player.draw(screen,Index % player.totalCellCount, halfSpriteWidth,halfSpriteHeight,centerHandle)
    draw.circle(screen,WHITE,(halfSpriteWidth,halfSpriteHeight),2,0)
...