Pygame не в состоянии рисовать на Mac - PullRequest
0 голосов
/ 16 ноября 2018

Прежде всего, я нахожусь на 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()

Edit:

Здесь было использовано изображение: https://i.imgur.com/OoSHkXX.png

Ответы [ 3 ]

0 голосов
/ 07 апреля 2019

Pygame все еще не работает на Python 3.7.3, pygame 1.9.5, на OS X Mojave 10.14.3

Таким образом, 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();

0 голосов
/ 04 мая 2019

Я думаю, что вы забыли pygame.display.update () для обновления экрана.Кроме того, для pygame.draw.rect (win, (255,0,0), (50,50,50,50)) это означает, что вы рисуете прямоугольник с верхним левым углом в (50,50) (первые две части) шириной и длиной 50 пикселей каждая.(последние две части).

0 голосов
/ 19 ноября 2018

Это известная проблема Pygame не совместима с MacOS Mojave # 555

Согласно комментариям к выпуску, это исправлено только в pygame 1.9.5 только

UPD: должно работать на python 3.6.5

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