簡體   English   中英

改變 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的矩陣,並為每個正方形繪制相應的顏色。 單擊屏幕時,更改siatka中該鼠標 position 的顏色。

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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM