Pygame无法在Mac上绘图

时间:2018-11-16 19:47:56

标签: python macos graphics pygame pycharm

首先,我在pygame 1.9.4上使用macOS Mojave 10.14.1。

此外,我正在使用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

7 个答案:

答案 0 :(得分:6)

我昨天晚上遇到了同样的问题。当执行一个非常简单的pygame代码时,没有一个窗口正在加载,一个球在窗口中弹起。 与其他成员相关的解决方案是安装pygame的较新版本,以我为例,安装pygame lib v2.0的最新Beta版。

此处是要在安装了python3的OS X Mojave中安装的shell代码。

pip3 install pygame=2.0.0.dev6

答案 1 :(得分:3)

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

根据问题的评论,仅在pygame 1.9.5 中已修复

UPD: 它应该适用于python 3.6.5

答案 2 :(得分:1)

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

答案 3 :(得分:1)

使用python 3.8并且无法加载图像。 pip3 install pygame==2.0.0.dev10

之后按预期工作

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

对我有用的

答案 6 :(得分:0)

对我来说,我必须安装

python 3.6 和 pygame 1.9.6

在macOS Mojave 10.14.6 上,我不得不添加pygame.display.update()