Задать вопрос
@O2topGG

Народ хелп не отображается спрайт в pygame?

Вот код
import pygame

pygame.init()#Инициализируем окно
win = pygame.display.set_mode((500, 500))#Со3даем окно 500 на 500px

pygame.display.set_caption('Cube')#Называем наше окно

walkRight = [pygame.image.load('right_1.png'),
            pygame.image.load('right_2.png'), 
            pygame.image.load('right_3.png'), 
            pygame.image.load('right_4.png'), 
            pygame.image.load('right_5.png'), 
            pygame.image.load('right_6.png')]

walkLeft = [pygame.image.load('left_1.png'), 
            pygame.image.load('left_2.png'), 
            pygame.image.load('left_3.png'), 
            pygame.image.load('left_4.png'), 
            pygame.image.load('left_5.png'), 
            pygame.image.load('left_6.png')]

bg = pygame.image.load('bg.jpg')
playerStand = pygame.image.load('idle.png')

clock = pygame.time.Clock()

x = 50 #Положение куба по х
y = 435 #Положение куба по игрику
width = 60 #Ширина куба
height = 71 #Высота куба
speed = 10 #Скорость куба

isJump = False
jumpCount = 10

left = False
right = False
animCount = 0

def drawWindow():
    global animCount
    win.blit(bg, (0,0))

    if animCount + 1 >= 30:
        animCount = 0

        if left:
            win.blit(walkLeft[animCount // 5], (x, y))
            animCount += 1
        elif right:
            win.blit(walkRight[animCount // 5], (x, y))
            animCount += 1
        else:
            win.blit(playerStand, (x, y))

    
    pygame.display.update()#Постоянное обновление

run = True
while run:
    clock.tick(30)#цыкл выполняется каджые 0,1 секунду

    for event in pygame.event.get():
        if event.type == pygame.QUIT: #если в масие ивент обнаружена команда закрыть то закрыть
            run = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and x > 5:
        x -= speed
        left = True
        right = False

    elif keys[pygame.K_RIGHT] and x < 500 - width - 5:
        x += speed
        left = False
        right = True
    else:
        left = False
        right = False
        animCount = 0

    if not(isJump):
        if keys[pygame.K_SPACE]:
            isJump = True
    else:
        if jumpCount >= -10:
            if jumpCount < 0:
                y += (jumpCount ** 2) / 2
            else:
                y -= (jumpCount ** 2) / 2
            jumpCount -= 1
        else:
            isJump = False
            jumpCount = 10
    drawWindow()
    
pygame.quit()#Так чтоб наверняка закрылось


А вот ошибка
Traceback (most recent call last):
  File "C:\Users\Володимир\Desktop\Game\game.py", line 8, in <module>
    walkRight = [pygame.image.load('right_1.png'),
pygame.error: Couldn't open right_1.png

И так со всеми спрайтами
  • Вопрос задан
  • 717 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 1
IDzone-x
@IDzone-x
Костыли сила паттерны могила
Похоже ти писал код по гайду Гоши дударя да?
У меня тоже была такая ошибка просто нужно взять каждой фаил в сукобки и написать в них open.
Лудше пройди етот курс он более информативный
https://younglinux.info/pygame.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы