Ваша проблема не (x,y)
, а pygame.Surface
.
Вы должны использовать экземпляр класса pygame.Surface
, а не класса pygame.Surface
surface = pygame.Surface((800,600))
surface.set_at((i, j), (255,255,255))
или
screen = pygame.display.set_mode((800,600))
screen.set_at((i, j), (255,255,255))
или
image = pygame.image.load('image.png')
image.set_at((i, j), (255,255,255))
или
font = pygame.font.SysFont(None, 50)
text = font.render("Hello World", True, (255,255,255))
text.set_at((i, j), (255,255,255))
У вас будет другая проблема с цветом. Это должно быть кортеж (R,G,B)
- в конечном итоге (R,G,B,A)
, если вы используете прозрачность (альфа-канал).
Для white
это будет (255,255,255)
, для black
это будет (0,0,0)
.
Чтобы использовать строку с именем, вы должны будете использовать класс pygame.color.Color(name)
screen.set_at((i, j), pygame.color.Color('white'))
Пример кода:
import pygame
pygame.init()
screen = pygame.display.set_mode((800,600))
#WHITE = pygame.color.Color('white')
WHITE = (255,255,255)
for x in range(100):
for y in range(100):
screen.set_at((350+x, 250+y), WHITE)
pygame.display.flip()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()