更改 pygame 中方块的颜色
changing color of squares in pygame
我想制作一个简单的程序,您可以在其中按下屏幕上的方块,它们会改变颜色,但我无法在文档中找到如何使用 pygame.draw.rect
来做到这一点。
import pygame
pygame.init()
screen = pygame.display.set_mode([501, 501])
siatka = [[[0] for i in range(10) ]for i in range(10)]
def rysowanie():
for i,el in enumerate(siatka):
for j,ele in enumerate(el):
pygame.draw.rect(screen,(0,0,0),pygame.Rect(50*j +1,50*i+1,49,49))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((0, 255, 0))
rysowanie()
pygame.display.flip()
pygame.quit()
我什至不知道我想做的事情的名称是什么,所以如果这很容易,我很抱歉。
让你的 siatka
成为一个颜色矩阵,并为每个方块绘制相应的颜色。
单击屏幕时,更改 siatka
中鼠标位置的颜色。
import pygame
pygame.init()
screen = pygame.display.set_mode([501, 501])
siatka = [[(0, 0, 0) for i in range(10)] for i in range(10)]
def rysowanie():
for i, el in enumerate(siatka):
for j, ele in enumerate(el):
pygame.draw.rect(screen, ele, pygame.Rect(50 * j + 1, 50 * i + 1, 49, 49))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
siatka[event.pos[1] // 50][event.pos[0] // 50] = (255, 0, 0)
screen.fill((0, 255, 0))
rysowanie()
pygame.display.flip()
pygame.quit()
我想制作一个简单的程序,您可以在其中按下屏幕上的方块,它们会改变颜色,但我无法在文档中找到如何使用 pygame.draw.rect
来做到这一点。
import pygame
pygame.init()
screen = pygame.display.set_mode([501, 501])
siatka = [[[0] for i in range(10) ]for i in range(10)]
def rysowanie():
for i,el in enumerate(siatka):
for j,ele in enumerate(el):
pygame.draw.rect(screen,(0,0,0),pygame.Rect(50*j +1,50*i+1,49,49))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((0, 255, 0))
rysowanie()
pygame.display.flip()
pygame.quit()
我什至不知道我想做的事情的名称是什么,所以如果这很容易,我很抱歉。
让你的 siatka
成为一个颜色矩阵,并为每个方块绘制相应的颜色。
单击屏幕时,更改 siatka
中鼠标位置的颜色。
import pygame
pygame.init()
screen = pygame.display.set_mode([501, 501])
siatka = [[(0, 0, 0) for i in range(10)] for i in range(10)]
def rysowanie():
for i, el in enumerate(siatka):
for j, ele in enumerate(el):
pygame.draw.rect(screen, ele, pygame.Rect(50 * j + 1, 50 * i + 1, 49, 49))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
siatka[event.pos[1] // 50][event.pos[0] // 50] = (255, 0, 0)
screen.fill((0, 255, 0))
rysowanie()
pygame.display.flip()
pygame.quit()