Poszukuję metody, która pozwoli mi narysować pojedynczy piksel na ekranie. Na przykład, gdy klikam myszką, chcę, aby pozycja klikniętego piksela zmieniała kolor. Wiem, jak czytać pos myszy, ale nie mogłem znaleźć prostego rysowania w pikselach (istnieje metoda screen.fill, ale nie działa tak, jak chcę).Pygame: Rysuj pojedynczy piksel
Odpowiedz
Można to zrobić z surface.set_at()
:
surface.set_at((x, y), color)
Można również użyć pygame.gfxdraw.pixel()
:
from pygame import gfxdraw
gfxdraw.pixel(surface, x, y, color)
Czy jednak pamiętać, ostrzeżenie:
EXPERIMENTAL !: rozumieniu niniejszej api może się zmienić lub znikać w późniejszych wersjach pygame . Jeśli użyjesz tego, twój kod zostanie zerwany z następnym wydaniem pygame .
Można użyć surface.fill()
do pracy też:
def pixel(surface, color, pos):
surface.fill(color, (pos, (1, 1)))
Można też po prostu narysować linię z początkowych i końcowych punktów jak samo:
def pixel(surface, color, pos):
pygame.draw.line(surface, color, pos, pos)
Próbowałem tego, ale myślałem, że jest jakiś szczególny sposób to zrobić.Następnie będę z tym. – ashur
@ user1165499 Zaktualizowany z inna metoda. –
'surface.fill (KOLOR, (poz, (1,1)) 'nie wystarcza? – jadkik94