2012-04-27 20 views
12

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

+3

'surface.fill (KOLOR, (poz, (1,1)) 'nie wystarcza? – jadkik94

Odpowiedz

27

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) 
+0

Próbowałem tego, ale myślałem, że jest jakiś szczególny sposób to zrobić.Następnie będę z tym. – ashur

+0

@ user1165499 Zaktualizowany z inna metoda. –