【问题标题】:Pygame failing to draw on MacPygame 无法在 Mac 上绘图
【发布时间】:2019-04-20 00:43:46
【问题描述】:

首先,我使用的是 macOS Mojave 10.14.1 和 pygame 1.9.4。

另外,我正在使用 PyCharm IDE 并且正在使用 python 3.7.1。

我决定尝试 pygame 会很有趣,但即使是简单的矩形或图像也无法绘制。

这是我尝试使用的代码来绘制一个矩形,绘制与文件位于同一目录中的图像,并用白色填充窗口。这些都不起作用。

import pygame

pygame.init()

win = pygame.display.set_mode((600, 600))
pygame.display.set_caption("Snake")
image = pygame.image.load("java_logo.png")

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        win.fill((0, 255, 0))
        pygame.draw.rect(win, (255, 0, 0), (50, 50, 50, 50))
        win.blit(image, (200, 200))
        pygame.display.flip()

pygame.quit()

编辑:

这是使用的图片:https://i.imgur.com/OoSHkXX.png

【问题讨论】:

  • 请提供您加载的图像,以使您的示例完整。谢谢。
  • @MarkSetchell 完成!
  • 谢谢。来晚了,我明天去看看。
  • 嗨,@MarkSetchell。你有机会研究这个吗?
  • 对不起,是的,我做到了。我度过了一个岁月,根本无法得到任何工作。似乎有很多人在 Mac 上遇到其他问题。一个人成功了全屏,另一个人这样成功stackoverflow.com/a/30651218/2836621

标签: python macos graphics pygame pycharm


【解决方案1】:

这是已知问题Pygame not compatible with MacOS Mojave #555

根据问题的 cmets,它已在 pygame 1.9.5 中修复

更新: 它应该适用于 python 3.6.5

【讨论】:

  • 刚刚意识到该错误不会在 python 3.6.5 中重现
【解决方案2】:

我昨晚遇到了和你一样的问题。执行一个非常简单的 pygame 代码时没有加载任何窗口,一个球在窗口中弹跳。 其他成员相关的解决方案是安装更新版本的pygame,在我的情况下安装pygame lib v2.0的最新beta版本。

这里是在 OS X Mojave 中安装 python3 的 shell 代码。

pip3 install pygame=2.0.0.dev6

【讨论】:

    【解决方案3】:

    Pygame 仍然无法在 OS X Mojave 10.14.3 上的 Python 3.7.3、pygame 1.9.5 上运行

    所以 pygame 1.9.5 没有解决这个问题。

    在一个简单的测试程序中(见下文)窗口打开,窗口标题有效,但没有绘制任何内容。

    import pygame
    import sys
    pygame.init()
    
    screen = pygame.display.set_mode((612,792))
    pygame.display.set_caption("This works!")
    
    red = (255,0,0)
    screen.fill(red)
    
    # point (0,0) is at upper left                                                             
    pygame.draw.lines(screen,black,False,[(100,100),(150,200),(200,100)], 1)
    
    pygame.display.update() #nothing is drawn
    
    while (True):
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit(); sys.exit();
    
    

    【讨论】:

      【解决方案4】:

      使用 python 3.8 并且无法加载图像。 在pip3 install pygame==2.0.0.dev10之后按预期工作

      【讨论】:

      【解决方案5】:

      对我来说,在使用 pip3 install pygame version 1.9.6 之后,我必须安装 Python 页面的 Python 3.6.0 版

      对我有用

      【讨论】:

        【解决方案6】:

        对我来说,我必须安装

        蟒蛇3.6 和 pygame 1.9.6

        在 macOS Mojave 10.14.6 加上我必须添加 pygame.display.update()

        【讨论】:

          【解决方案7】:

          我想你忘记了 pygame.display.update() 来更新屏幕。 另外,对于 pygame.draw.rect(win, (255,0,0), (50,50,50,50)), 这意味着您绘制一个矩形,其左上角位于 (50,50)(前两部分),宽度和长度各为 50 像素。 (最后两部分)。

          【讨论】:

            猜你喜欢
            • 2017-06-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-03-07
            • 2021-12-13
            相关资源
            最近更新 更多