In questa lezione vedremo come costruire altre Surface, cioè delle aree su cui disegnare.
Possiamo creare altre Surface con la funzione costruttore, ricordiamo che nei linguaggi OOP ogni oggetto ha una particolare funzione, chiamata costruttore, che è designata a creare un’istanza dell’oggetto.
Il costruttore ha il medesimo nome dell’oggetto e se è contenuto in un sotto modulo di pygame si chiama anteponendo pygame ed il nome del sotto modulo.
Come costruire altre Surface
Vediamo dunque un esempio pratico.
import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
RED=(255, 0, 0)
WHITE=(255,255,255)
BLACK=(0,0,0)
GREEN=(0,255,0)
BLUE=(0,0,255)
YELLOW=(255,255,0)
CYAN=(0,255,255)
screen.fill(CYAN)
surf = pygame.Surface((100, 100))
surf.fill(WHITE)
pygame.draw.circle(surf, RED, (50, 50), 49)
surf2 = pygame.Surface((100, 100))
surf2.fill(BLUE)
points = [(50, 0), (100, 50), (50, 100), (0, 50)]
pygame.draw.polygon(surf2, GREEN, points)
surf3 = pygame.Surface((100, 100))
surf3.fill(YELLOW)
points = [(50, 0), (100, 50), (50, 100), (0, 50)]
pygame.draw.polygon(surf3, BLACK, points,1)
screen.blit(surf, (50, 50))
screen.blit(surf2, (150, 50))
screen.blit(surf3, (250, 50))
pygame.display.flip()
Se provate ad eseguire il programma otterrete questo risultato:
Per realizzare questo esempio innanzitutto abbiamo creato una nuova Surface quadrata di 100 x 100 pixel e abbiamo assegnato questa Surface alla variabile surf. Dopo la coloriamo di colore bianco con il metodo fill e disegniamo un cerchio utilizzando il sotto modulo draw.
Allo stesso modo abbiamo creato altre due Surface e le abbiamo assegnate alle variabili surf2 e surf3 . Quindi le abbiamo colorate e abbiamo disegnato dei poligoni dentro queste Surface.
Dopo abbiamo utilizzato il metodo blit, su surf, surf2 e surf3, dell’oggetto Surface, che serve a rendere visibile le Surface che abbiamo creato.
Alcuni link utili
Indice tutorial sul linguaggio python
1 – Introduzione al linguaggio python
3 – Operatori aritmetici e di assegnazione in python
8 – Errori in python
9 – Script python
10 – Scambio di variabili in python