Невозможно изменить один пиксель с Pygame - PullRequest
0 голосов
/ 20 июня 2019

Я пробовал так много способов изменить пиксель в Pygame, и ни один из них не работает со мной ...

import pygame
import random

width = 640
height = 400
screen = pygame.display.set_mode((width, height))
clock = pygame.time.Clock()
running = True

while running:
    x = random.randint(0, width-1)
    y = random.randint(0, height-1)
    red = random.randint(0, 255)
    green = random.randint(0, 255)
    blue = random.randint(0, 255)
    screen.set_at((x, y), (red, green, blue))
    clock.tick(10)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
            pygame.display.flip()
            clock.tick(240)

Ничего не происходит, только черный экран, пока я не закрою его.

1 Ответ

3 голосов
/ 20 июня 2019

Похоже, что вы следуете этому уроку , но вы сделали несколько важных строк в неправильном месте.Помните, что Python чувствителен к пробелам ;отступы имеют значение!

Последние две строки не должны находиться внутри блока цикла for, они должны быть в блоке цикла while.

while running:
    # code that draws pixel

    pygame.display.flip()
    clock.tick(240)

Эти строки обновляют отображение ивычислить время между кадрами.

В том виде, в котором оно было у вас, в операторе if пиксель никогда не будет прорисован до тех пор, пока не будет запущено событие pygame.QUIT.

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