i got the error in the line: "self.layer = PLAYER_LAYER" (player_layer = 3)
import pygame
from config import *
import math
import random
class Spritesheet:
def __init__(self, file):
self.sheet = pygame.image.load(file).convert()
def get_sprite(self, x, y, width, height):
sprite = pygame.Surface([width, height])
sprite.blit(self.sheet, (0, 0), (x, y, width, height))
sprite.set_colorkey(BLACK)
return sprite
class Player(pygame.sprite.Sprite):
def __init__(self, game, x, y):
self.game = game
self.layer = PLAYER_LAYER
self.groups = self.game.all_sprites
pygame.sprite.Sprite.__init__(self, self.groups)
self.x = x * TILESIZE
self.y = y * TILESIZE
self.width = TILESIZE
self.height = TILESIZE
self.x_change = 0
self.y_change = 0
self.facing = 'down'
self.image = self.game.character_spritesheet.get_sprite(3, 2, self.width, self.width)
self.rect = self.image.get_rect()
self.rect.x = self.x
self.rect.y = self.y
def update(self):
self.movement()
self.rect.x += self.x_change
self.rect.y += self.y_change
self.x_change = 0
self.y_change = 0
I found the code on youtube, and the person there has no code error why I have an error. It said that I need to write the "pygame.sprite.Sprite.init(self, self.groups)" but I then it said that I have to define the layer before the group https://www.youtube.com/watch?v=crUF36OkGDw&list=PLkkm3wcQHjT7gn81Wn-e78cAyhwBW3FIc&index=2