I am making a platformer game in pygame. I want to have a floor on the bottom of the level that the player can walk on. In my Floor class, I used a grass image and made it much longer. However, when I run the program, the image stays the same. Can someone fix this? Is it something in my code?
import pygame
from spritesheet_functions import SpriteSheet
GRASS = (648, 0, 70, 70)
class Floor(pygame.sprite.Sprite):
def __init__(self, sprite_sheet_data):
super().__init__()
sprite_sheet = SpriteSheet('tiles_spritesheet.png')
self.image=sprite_sheet.get_image(sprite_sheet_data[0],
sprite_sheet_data[1],
sprite_sheet_data[2],
sprite_sheet_data[3])
self.floor = pygame.transform.scale(self.image,
(6000, 50))
self.rect = self.floor.get_rect()
class Level(object):
def __init__(self, player):
self.floor_list = None
self.floor_list = pygame.sprite.Group()
def update(self):
self.floor_list.update()
def draw(self, screen):
self.floor_list.draw(screen)
class Level01(Level):
def __init__(self, player):
Level.__init__(self, player)
level_floor = [[floors.GRASS, 0, 550]]
for ground in level_floor:
floor = floors.Floor(ground[0])
floor.rect.x = ground[1]
floor.rect.y = ground[2]
floor.player = self.player
self.floor_list.add(floor)
self.image. You should keep original image in different variables and useself.imageonly to keep current displayed image (ie. rescaled) - furasSpritesinGroupand rungroup.draw()then it useself.image,self.rectto display it. - furasself.image = pygame.transform.scale(self.image, (6000, 50))- furas