Мой код не работает? Могу ли я получить помощь? - PullRequest
0 голосов
/ 11 апреля 2020

Код не запущен, это код Pygame для гоночной игры, каждый раз, когда я пытаюсь запустить его, он говорит ImportError: Нет модуля с именем Pygame. Я понятия не имею, есть ли у этого кода другие проблемы, насколько я знаю, что это только ошибка импорта. Можете ли вы помочь мне решить ошибку импорта и другие возникающие проблемы?

import pygame
import time

pygame.init()

display_width = 800
display_height = 600

black = (0,0,0)
white = (255,255,255)
red = (255,0,0)

car_width = 73

gameDisplay = pygame.display.set_mode((display_width,display_height ))
pygame.display.set_caption('A bit Racey 3')
clock = pygame.time.Clock()

def carImg():
    pygame.image.load('racecar.png')

def car(x,y):
    gameDisplay.blit(carImg,(x,y))

def game_loop():

    x = (display_width * 0.45)
    y = (display_height * 0.8)

    x_change = 0

    gameExit = False

    while not gameExit:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                gameExit = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x_change = -5
                elif event.key == pygame.K_RIGHT:
                    x_change = 5


            if event.type == pygame.KEYUP:
                if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                    x_change = 0

        x += x_change


        gameDisplay.fill(white)
        car(x, y)

        if x > display_width - car_width or x < 0:
            gameExit = True

        pygame.display.update()
        clock.tick(60)


game_loop()
pygame.quit()
quit()

1 Ответ

0 голосов
/ 11 апреля 2020

pygame.image.load() загружает изображение и возвращает объект Surface. Ваша поверхность уходит в никуда:

def carImg():
   pygame.image.load('racecar.png') 

carImg должна быть переменной, а не функцией. Назначьте объект Surface для carImg:

carImg = pygame.image.load('racecar.png') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...