【问题标题】:Python Crash Course Alien Invasion issuePython速成课程外星人入侵问题
【发布时间】:2020-04-08 18:06:42
【问题描述】:

这是关于“Python Crash Course 2nd Edition”一书的。

在完成第 12 章中的“将船绘制到屏幕上”部分后,我得到一个黑屏,而不是灰屏,并且当我运行我的 alien_invasion.py 时,我没有看到船出现。我已尝试为该步骤运行 Matthes 的可下载资源文件,但仍然出现黑屏。我正在从 Sublime 文本运行这些 .py 文件,但尝试使用终端运行它们(我得到缩进错误)和 python IDLE 运行它们(给我一个 pygame 模块未找到错误,尽管我知道 pygame 已安装并找到由崇高)。

以下是游戏代码,如果您有船图像,则不应在屏幕底部显示灰色背景和船:

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()

我使用的是 Mac OS 版本 10.14.6。

我应该在其中编写/运行这些游戏模块的任何解决方案,或更好的做法或程序?

任何人的 Mac 已经成功安装了 pygame 和/或让 alien_invasion 工作?

对我的 reddit 帖子的一个回复说他们在 Mac OS 上遇到了类似的问题,但是当他们在 linux 上尝试时它运行良好......

除了在单独的分区上安装 linux 或其他东西之外,Mac 用户还有其他选择吗?

感谢您的帮助!

【问题讨论】:

  • 请发布给您带来麻烦的代码(或部分)。
  • 刚刚添加了游戏代码。
  • 可能是视网膜显示器?尝试转到System Preferences > Displays 并将Scaled 更改为More Space。摆弄。

标签: python pygame


【解决方案1】:

在 Eric Matthes 的 github 上找到了解决方案。 Uff da,pygame 在 python 3.8.2 上还不稳定......我需要安装 pygame 的开发版本才能在 python 3.8.2 上运行。

来自 Eric 的 github:

Pygame 的稳定版本尚未更新为可与 Python 3.8 一起使用。但是,最近有一个适用于 Python 3.8 的开发版本。要安装它,请运行以下命令:

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

您应该使用与在系统上运行 Python 终端会话相同的命令,可能是 python、python3、py、python3.8 或其他。

如果您在 macOS 上运行 Pygame 时遇到任何问题,这个版本的 Pygame 应该也能解决这些问题。

【讨论】:

    【解决方案2】:

    我有同样的问题,黑屏,没有船。对我来说解决这个问题的是,在设置下,使用高度和宽度。我是这方面的新手,但我发现当我将船居中而不是底部中心时,船几乎没有出现在底部。最终我能够将它置于屏幕底部。

    【讨论】:

      【解决方案3】:

      我遇到了这个问题,黑屏之后立即关闭。代码在文件夹“images/ship.bmp”中有船。确保目的地准确。我的位置稍有不同,因为我有这本书的项目文件夹。

      我的是“Python Crash Course/Alien Invasion/images/ship.bmp”

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多