Вот краткий пример я взбитый:
import pygame, sys, random
from pygame.locals import *
arr=[]
RED=(255,10,10)
BLU=(10,255,10)
GRN=(10,10,255)
arr.append(RED)
arr.append(BLU)
arr.append(GRN)
SCREEN_X=100
SCREEN_Y=100
screen = pygame.display.set_mode((SCREEN_X, SCREEN_Y))
square=pygame.Surface((1, 1))
for j in range (SCREEN_Y):
for i in range (SCREEN_X):
num=random.randint(0,2)
square.fill(arr[num])
draw_me=pygame.Rect((j+1), (i+1), 1, 1)
screen.blit(square,draw_me)
pygame.display.flip()
Я заполнил массив красных синий и зеленый, затем случайным образом выбрать цвет для рисования.
Надеется, что это помогает
Я попытался с помощью массива пикселей, но пиксели получают положенные на экране, как только я даю им значение, как pixelarray [1] [1] = (0,0,0). Но это не очень эффективно для того, что я хочу делать. Мне нужно сделать массив, а затем положить все это за одну операцию. – nope
Вы можете создать новую Поверхность, нарисовать ее, а затем выложить ее обратно на поверхность окна. – Avilo
surfarray действительно может быть вашим лучшим выбором. Кроме того, pixelarray не является неэффективным. Это просто взгляд на базовые данные поверхности. Предполагая, что вы все равно заботитесь о поверхности, pixelarray на самом деле будет * быстрее! – imallett