2012-04-27 20 views
12

Estoy buscando un método que me permita dibujar un solo píxel en la pantalla de visualización. Por ejemplo, cuando hago clic en el mouse, quiero que la posición del píxel en el que se hace clic cambie de color. Sé cómo leer la posición del mouse, pero no pude encontrar el simple dibujo de píxeles (hay un método screen.fill pero no funciona como yo quiero).Pygame: dibuja un solo píxel

+3

'surface.fill (COLOR, (pos, (1,1)) '¿No es suficiente? – jadkik94

Respuesta

27

Usted puede hacer esto con surface.set_at():

surface.set_at((x, y), color) 

también puede utilizar pygame.gfxdraw.pixel():

from pygame import gfxdraw 
gfxdraw.pixel(surface, x, y, color) 

Ten en cuenta, sin embargo, la advertencia:

EXPERIMENTAL !: significando esto api puede cambiar, o desaparecer en versiones posteriores de pygame. Si usa esto, su código se romperá con la próxima versión del juego de juegos .

Usted podría utilizar surface.fill() para hacer el trabajo demasiado:

def pixel(surface, color, pos): 
    surface.fill(color, (pos, (1, 1))) 

también puede simplemente dibujar una línea con los puntos de inicio y fin de la misma como:

def pixel(surface, color, pos): 
    pygame.draw.line(surface, color, pos, pos) 
+0

Intenté esto, pero pensé que había algún tipo de método específico para hacerlo. Por ahora, me quedaré con eso. – ashur

+0

@ user1165499 Actualizado con otro método. –