Python Cra sh Курс Alien Invasion. - PullRequest
1 голос
/ 08 апреля 2020

Это относится к книге "Python Cra sh Course 2nd Edition".

После прохождения раздела "Рисование корабля на экран" в главе 12 я получаю черный экран, а не серый экран, и я не вижу, чтобы корабль появлялся, когда я запускаю мой alien_invasion.py. Я попытался запустить файл загружаемого ресурса Matthes для этого шага, и у меня все еще есть черный экран. Я запускаю эти .py файлы из возвышенного текста, но пытался использовать терминал для их запуска (я получаю ошибки в отступах) и python IDLE для их запуска (выдает ошибку модуля pygame not found, хотя я знаю, что pygame установлен и найдено Sublime).

Вот код для игры, который не должен отображать серый фон и корабль внизу экрана, если у вас есть изображение корабля:

import sys

import pygame

from settings import Settings
from ship import Ship

class AlienInvasion:
    """Overall class to manage game assets and behavior."""

    def __init__(self):

        """Initialize the game, and create game resources."""
        pygame.init()
        self.settings = Settings()

        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))

        pygame.display.set_caption("Alien Invasion")

        self.ship = Ship(self)

    def run_game(self):
        """Start the main loop for the game."""
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()

            # Redraw the screen during each pass through the loop.
            self.screen.fill(self.settings.bg_color)
            self.ship.blitme()

            # Make the most recently drawn screen visible.
            pygame.display.flip()

if __name__ == '__main__':
    # Make a game instance, and run the game.
    ai = AlienInvasion()
    ai.run_game()

Я использую Ma c ОС версии 10.14.6.

Какие-либо решения для этой проблемы, или лучшие практики или программы, в которых я должен писать / запускать эти игровые модули?

Кто-нибудь? с Ма c, который успешно установил pygame и / или заставил Alien_invasion работать?

В одном ответе на мой пост reddit об этом говорилось, что у них была похожая проблема на ОС Ma c, но когда они пытались на linux все работало нормально ...

Есть ли другая альтернатива для Ма c людей, кроме установки linux на отдельный раздел или что-то в этом роде?

Спасибо за ваше он LP!

1 Ответ

2 голосов
/ 08 апреля 2020

Нашел решение на Эри c Гитхуб Маттеса. Уф, да, pygame еще не стабильна на python 3.8.2 ... Мне нужно было установить dev-версию pygame для работы с python 3.8.2.

От Eri c github:

Стабильная версия Pygame еще не обновлена ​​для работы с Python 3.8. Однако есть недавняя версия для разработки, которая работает с Python 3.8. Чтобы установить его, выполните следующую команду:

$ python -m pip install pygame==2.0.0.dev6

Вы должны использовать ту же команду, которую используете для запуска терминального сеанса Python в вашей системе, который может быть python, python3, py , python3 .8 или что-то еще.

Если у вас были какие-либо проблемы с запуском Pygame на macOS, эта версия Pygame также должна решить эти проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...