Форум сайта python.su
надо заполнять по одному квадратику за каждый кадр, проблема в том, что у меня сейчас квадратики могут рисоваться друг на дружке, и после каждого обновления экрана предыдущие удаляются. как этого избежать?
import pygame as pg import sys import random as rnd class FiveSquares: def __init__(self): self.size = 401 self.fps = 60 # colors black = (0, 0, 0) white = (255, 255, 255) self.sc = pg.display.set_mode((self.size, self.size)) self.clock = pg.time.Clock self.side = 100 self.c = 1 self.v = 1 # сетка def DrawGrid(self): for i in range(6): pg.draw.line(self.sc, pg.Color('white'), [100 * i, 0], [100 * i, 400]) pg.draw.line(self.sc, pg.Color('white'), [0, 100 * i], [400, 100 * i]) # заполнение квадратиками def DrawSqr(self, c, v): c = self.c v = self.v for i in range(self.c): pg.draw.rect(self.sc, pg.Color('green'), (rnd.randrange(0, 4, 1)*self.side, rnd.randrange(0, 4, 1)*self.side, self.side, self.side)) def run(self): clock = pg.time.Clock() while True: self.sc.fill('black') clock.tick(1) for event in pg.event.get(): if event.type == pg.QUIT: sys.exit() self.DrawSqr(self.c, self.v) self.DrawGrid() self.c += 1 self.v += 1 pg.display.flip() FiveSquares().run()
Отредактировано Khudya (Май 16, 2021 15:56:35)
Офлайн