La funzione draw.lines() di pygame

La funzione draw.lines() traccia una seguenza di linee sullo schermo in python tramite il modulo pygame.

pygame.draw.lines(obj, col, union, punti, width)

Gli argomenti della funzione sono

  • obj è il nome della superficie in cui visualizzare le linee
  • col è una tupla a tre elementi con i valori RGB per definire il colore delle linee
  • union è un valore booleano, se è vero (True) congiunge l'ultimo punto della serie con il primo.
  • punti è una tupla contenente due o più coppie (x,y) che indicano le coordinate dei punti sulla linea spezzata, dal primo all'ultimo.
  • width è un valore intero che definisce lo spessore della linea in pixel.

Nota. La funzione è molto simile a un'altra pigame.draw.line(). C'è però una differenza, draw.line() traccia una sola linea tra due punti mentre draw.lines ne traccia più di una usando una sola riga di codice.

    Un esempio pratico

    In questo script disegno tre linee di colore rosso con la funzione draw.lines() alla riga 6.

    1. import pygame
    2. pygame.init()
    3. finestra1 = pygame.display.set_mode((400,300))
    4. pygame.display.set_caption('Titolo della finestra')
    5. RED = (255,0,0)
    6. pygame.draw.lines(FINESTRA1, RED, False, ((200,120),(220,100), (240,130),(230,140)),5)
    7. running = True
    8. while running:
    9. for event in pygame.event.get():
    10. if event.type == QUIT:
    11. running = False
    12. pygame.display.update()

    La linea spezzata comincia nel punto (210,120) a passa per i punti (220,100), (240,130) e (230,140).

    Il valore del parametro union è False, quindi non c'è una linea tra l'ultimo punto e il primo.

    pygame.draw.lines(FINESTRA1, RED, False, ((200,120),(220,100), (240,130),(230,140)),5)

    L'ultimo parametro definisce lo spessore a 5 pixel.

    Ecco il risultato in output.

    la funzione draw line

    Ora modifico il codice portando il valore del parametro union da False a True.

    pygame.draw.lines(FINESTRA1, RED, True, ((200,120),(220,100), (240,130),(230,140)),5)

    Il risultato in output è una linea spezzata chiusa.

    Tra l'ultimo punto e il primo viene tracciata una linea di chiusura.

    il risultato in output di draw.lines() con parametro True

    Quest'ultimo risultato posso ottenerlo anche usando la funzione draw.polygon().

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    PyGame