Черный экран при попытке запустить игру

Spaceguy27

Новичок
Пользователь
Янв 11, 2021
5
1
3
import pygame

pygame.init()
win = pygame.display.set_mode((1024, 576))

pygame.display.set_caption("My first videogame")

bg = pygame.image.load("background.jpg")

playerStand = pygame.image.load("sans_idle.png")

clock = pygame.time.Clock()

playerWalkRight = [pygame.image.load("sans_walk_right1.png"),
pygame.image.load("sans_walk_right2.png")]

playerWalkLeft = [pygame.image.load("sans_walk_left1.png"),
pygame.image.load("sans_walk_left2.png")]

x = 50
y = 425
height = 92
width = 72
speed = 5

Jump = False
JumpCount = 10

left = False
right = False
animCount = 0

def drawWindow():
global animCount

if animCount + 1 >= 30:
animCount = 0

if left:
win.blit(playerWalkLeft[animCount // 2], (x, y))
animCount += 1

elif right:
win.blit(playerWalkRight[animCount // 2], (x, y))
animCount += 1

else:
win.blit(playerStand, (x, y))

win.blit(bg, (0, 0))
pygame.display.update()

run = True
while run:
clock.tick(30)

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(Jump):
if keys[pygame.K_SPACE]:
Jump = True
else:
if JumpCount >= -10:
if JumpCount < 0:
y += (JumpCount ** 2) / 2
else:
y -= (JumpCount ** 2) / 2
JumpCount -= 1
else:
Jump = False
JumpCount = 10
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте с помощью ... -> код -> Python.
Без отступов трудно разобраться.
 
  • Мне нравится
Реакции: Student

Spaceguy27

Новичок
Пользователь
Янв 11, 2021
5
1
3
Python:
import pygame

pygame.init()
win = pygame.display.set_mode((1024, 576))

pygame.display.set_caption("My first videogame")

playerStand = pygame.image.load("sans_idle.png")

clock = pygame.time.Clock()

playerWalkRight = [pygame.image.load("sans_walk_right1.png"),
pygame.image.load("sans_walk_right2.png")]

playerWalkLeft = [pygame.image.load("sans_walk_left1.png"),
pygame.image.load("sans_walk_left2.png")]

bg = pygame.image.load("background.jpg")


x = 50
y = 425
height = 92
width = 72
speed = 5

Jump = False
JumpCount = 10

left = False
right = False
animCount = 0

def drawWindow():
    global animCount

    if animCount + 1 >= 30:
        animCount = 0

        if left:
            win.blit(playerWalkLeft[animCount // 2], (x, y))
            animCount += 1

        elif right:
            win.blit(playerWalkRight[animCount // 2], (x, y))
            animCount += 1

        else:
            win.blit(playerStand, (x, y))

    pygame.display.update()
    win.blit(bg, (0, 0))

run = True
while run:
    clock.tick(30)

    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(Jump):
        if keys[pygame.K_SPACE]:
            Jump = True
    else:
        if JumpCount >= -10:
            if JumpCount < 0:
                y += (JumpCount ** 2) / 2
            else:
                y -= (JumpCount ** 2) / 2
            JumpCount -= 1
        else:
            Jump = False
            JumpCount = 10
    drawWindow()
 
  • Мне нравится
Реакции: Student

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Черный экран при попытке запустить игру
Для запуска игры вам понадобятся файлы с изображениями (sans_idle.png и другие). Без них скрипт будет завершатся с ошибкой.
 

Spaceguy27

Новичок
Пользователь
Янв 11, 2021
5
1
3
Для запуска игры вам понадобятся файлы с изображениями (sans_idle.png и другие). Без них скрипт будет завершатся с ошибкой.
Все файлы есть, в той же папке, что и сама игра
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Все файлы есть, в той же папке, что и сама игра
Вот так попробуйте запустить:
Python:
import pygame


pygame.init()
win = pygame.display.set_mode((500, 500))

pygame.display.set_caption("My first videogame")

playerStand = pygame.image.load("sans_idle.png")

clock = pygame.time.Clock()

playerWalkRight = [pygame.image.load("sans_walk_right1.png"),
pygame.image.load("sans_walk_right2.png")]

playerWalkLeft = [pygame.image.load("sans_walk_left1.png"),
pygame.image.load("sans_walk_left2.png")]

bg = pygame.image.load("background.jpg")


x = 50
y = 425
height = 92
width = 72
speed = 5

Jump = False
JumpCount = 10

left = False
right = False
animCount = 0


def drawWindow():
    global animCount

    if animCount + 1 >= 3:
        animCount = 0

    if left:
        win.blit(playerWalkLeft[animCount // 2], (x, y))
        animCount += 1

    elif right:
        win.blit(playerWalkRight[animCount // 2], (x, y))
        animCount += 1

    else:
        win.blit(playerStand, (x, y))

    pygame.display.update()
    win.blit(bg, (0, 0))


run = True
while run:
    clock.tick(30)

    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(Jump):
        if keys[pygame.K_SPACE]:
            Jump = True
    else:
        if JumpCount >= -10:
            if JumpCount < 0:
                y += (JumpCount ** 2) / 2
            else:
                y -= (JumpCount ** 2) / 2
            JumpCount -= 1
        else:
            Jump = False
            JumpCount = 10
    drawWindow()
 

Spaceguy27

Новичок
Пользователь
Янв 11, 2021
5
1
3
Вот так попробуйте запустить:
Python:
import pygame


pygame.init()
win = pygame.display.set_mode((500, 500))

pygame.display.set_caption("My first videogame")

playerStand = pygame.image.load("sans_idle.png")

clock = pygame.time.Clock()

playerWalkRight = [pygame.image.load("sans_walk_right1.png"),
pygame.image.load("sans_walk_right2.png")]

playerWalkLeft = [pygame.image.load("sans_walk_left1.png"),
pygame.image.load("sans_walk_left2.png")]

bg = pygame.image.load("background.jpg")


x = 50
y = 425
height = 92
width = 72
speed = 5

Jump = False
JumpCount = 10

left = False
right = False
animCount = 0


def drawWindow():
    global animCount

    if animCount + 1 >= 3:
        animCount = 0

    if left:
        win.blit(playerWalkLeft[animCount // 2], (x, y))
        animCount += 1

    elif right:
        win.blit(playerWalkRight[animCount // 2], (x, y))
        animCount += 1

    else:
        win.blit(playerStand, (x, y))

    pygame.display.update()
    win.blit(bg, (0, 0))


run = True
while run:
    clock.tick(30)

    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(Jump):
        if keys[pygame.K_SPACE]:
            Jump = True
    else:
        if JumpCount >= -10:
            if JumpCount < 0:
                y += (JumpCount ** 2) / 2
            else:
                y -= (JumpCount ** 2) / 2
            JumpCount -= 1
        else:
            Jump = False
            JumpCount = 10
    drawWindow()
Спасибо, игра работает, но при ходьбе спрайты не сменяются
 
Последнее редактирование:

Spaceguy27

Новичок
Пользователь
Янв 11, 2021
5
1
3
С этой проблемой я уже разобрался сам, еще раз спасибо за помощь
 

Форум IT Специалистов