Нужна помощь в получении строки для «рисования» в python (pygame)

#python #pygame

#python #pygame

Вопрос:

я следил за учебным пособием по изучению pygame. приведенный ниже код предназначен для создания зеленого окна (640 на 400). Программа также может рисовать красную линию по экрану. до сих пор мне не удалось добиться появления строки. есть предложения?

 #! /usr/bin/env python

import pygame

screen = pygame.display.set_mode((640, 400))
running = 1
green = 0, 255, 0
red = 255, 0, 0
point1 = 639, 479
point2 = 0, 0


while running:
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
        running = 0

    screen.fill(green)
    pygame.display.flip()
    pygame.draw.line(screen, red, point1, point2)
  

Комментарии:

1. При обращении за помощью в решении проблемы полезно уточнить, что конкретно не работает и какое сообщение об ошибке, если таковое имеется, вы получаете.

Ответ №1:

Вам нужно вызвать draw .строка перед display.flip(), так как сейчас вы копируете данные из буфера на дисплей до того, как будут нарисованы строки.

Комментарии:

1. 1; поместите flip() вызов в самый конец цикла; вы почти всегда хотите, чтобы он был там.

Ответ №2:

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

 import pygame
from pygame.locals import *
pygame.init()
  

это гарантирует, что у вас есть все необходимое и что вы «инициализируете» pygame.
без pygame.init() он не будет «включать» большинство функций