I have been coding this basic rpg in pygame, the images showed at one point but now they don't, I also couldn't get the controls working either
# Imports
import pygame, playerSprites
# Initialize
pygame.init()
# Screen
screenWidth = 800
screenHeight = 800
icon = pygame.image.load("assets/icon.png")
screen = pygame.display.set_mode((screenWidth, screenWidth))
pygame.display.set_caption("Basic Pygame RPG")
pygame.display.set_icon(icon)
# Game stuff
fpsCap = 60
# Images
playerSpriteSheetImg = pygame.image.load('assets\player\playerSpriteSheet.png').convert_alpha()
Background1Img = pygame.image.load('assets/Background1.png')
# Backgrounds
Background1 = pygame.transform.scale_by(Background1Img, 8)
# Sprite sheets
playerSpriteSheet = playerSprites.spriteSheet(playerSpriteSheetImg)
# Create transparency
BLACK = (0,0,0)
# Create animation list
animation_list = []
animation_steps = [3,2,2,3]
action = 0
last_update = pygame.time.get_ticks()
animation_cooldown = 250
frame = 0
step_counter = 0
# Sprite sheet stuff
for animation in animation_steps:
temp_img_list = []
for _ in range(animation):
temp_img_list.append(playerSpriteSheet.get_image(step_counter,10,15,5,BLACK))
step_counter += 1
animation_list.append(temp_img_list)
# Player
def player(playerX,playerY):
screen.blit(((animation_list[action][frame])), (playerX,playerY))
playerX = (0)
playerY = (0)
# Clock
clock = pygame.time.Clock()
# Game loop
run = True
dt = 0
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# Image display
screen.blit(Background1, (0,0))
player(playerX,playerY)
# Controls
keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
playerY -= 294 * dt
action = 3
if keys[pygame.K_s]:
playerY += 294 * dt
action = 0
if keys[pygame.K_a]:
playerX -= 294 * dt
action = 2
if keys[pygame.K_d]:
playerX += 294 * dt
action = 1
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
pygame.display.update()
clock.tick(fpsCap)
pygame.quit()
other than the image problem is there anything else I should change?, the sprites also weren't updating as intended at one point, here's other code in the folder for the sprite
import pygame
class spriteSheet():
def __init__(self,image):
self.sheet = image
def get_image(self,frame,width,height,scale,color):
image = pygame.Surface((width, height)).convert_alpha()
image.blit(self.sheet, (0,0), ((frame * width),0, width, height))
image = pygame.transform.scale(image, (width * scale, height * scale))
image.set_colorkey(color)
return image
source https://stackoverflow.com/questions/76715833/images-not-showing-in-pygame
Comments
Post a Comment