Pygame

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
PyGame
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereAmbiente di sviluppodivideogiochi
LibreriadiPython
SviluppatorePygame Community
Ultima versione2.6.0 (25 giugno 2024)
Sistema operativoMultipiattaforma
LinguaggioC
Python
LicenzaGNU Lesser General Public License
(licenza libera)
Sito webpygame.org

Pygameè un insieme di moduliPythonprogettato per la scrittura di giochi. Si basa sulla libreriaSDL.

La prima versione è uscita il 28 ottobre2000,è completamenteOpen Source(sotto licenzaLGPL) ed è in continuo sviluppo.

Questo codice presume che nella stessadirectoryin cui è eseguito ci sia una immagine (di una palla) di nome ball.png che si muoverà velocemente nella finestra.

importsys,time,pygame
pygame.init()
size=width,height=320,240
speed=[2,2]
black=0,0,0
screen=pygame.display.set_mode(size)
ball=pygame.image.load("ball.png")
ballrect=ball.get_rect()
while1:
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:sys.exit()
ballrect=ballrect.move(speed)
ifballrect.left<0orballrect.right>width:
speed[0]=-speed[0]
ifballrect.top<0orballrect.bottom>height:
speed[1]=-speed[1]
screen.fill(black)
screen.blit(ball,ballrect)
time.sleep(0.01)
pygame.display.flip()

La riga 1 richiama la libreria pygame.py e carica la libreria time. La riga 2 inizializza tutti i moduli (che si possono anche attivare singolarmente). Il resto del codice crea una finestra, carica la palla nella finestra e la muove usando un ciclo infinito. La libreria time e la funzione time.sleep(0.01) che servono a rallentare l'animazione di 10 ms, altrimenti troppo veloce, si possono omettere.

Di seguito sono elencati i moduli integrati nell'ultima versione di PyGame

Modulo Descrizione
cdrom Gestisce le periferiche cdrom e la riproduzione audio
cursors carica le immagini dei cursori, includendo quelli standard
display controlla la finestra della schermata nel monitor
event gestisce gli eventi e la richiesta di eventi
font crea e renderizza i caratteri TrueType
image salva e carica immagini
joystick gestisce le periferiche joystick
key gestisce la tastiera
mouse gestisce il mouse
movie gestisce la riproduzione di video MPEG
sndarray per la manipolazione di suoni con Numeric
surfarray per la manipolazione di immagini con Numeric
time controlla il tempo
transform scala, ruota, sfoglia immagini

Architettura e caratteristiche

[modifica|modifica wikitesto]

Pygame utilizza la libreria Simple DirectMedia Layer (SDL), con l'intenzione di consentire lo sviluppo digiochi per computerin tempo reale senza la meccanica di basso livello del linguaggio di programmazioneCe dei suoi derivati.[1]Questo si basa sul presupposto che le funzioni più costose all'interno dei giochi possano essere astratte dallalogicadel gioco, rendendo possibile l'utilizzo di unlinguaggio di programmazionedi alto livello, come Python, per strutturare il gioco.

Altre funzionalità di SDL includono matematica vettoriale, rilevamento delle collisioni, gestione del grafico di scenesprite 2D,supporto MIDI, fotocamera, manipolazione di pixel-array, trasformazioni, filtri, supporto avanzato per fontfreetypee disegno.[2]

Le applicazioni che utilizzano Pygame possono essere eseguite su telefoni e tabletAndroidcon l'uso di Pygame Subset per Android (pgs4a). Suono, vibrazione, tastiera eaccelerometrosono supportati su Android.[3]

  1. ^Mark Lutz,Learning Python, 5th Edition,ISBN978-1449355739.URL consultato il 21 settembre 2021(archiviato dall'url originalel'8 ottobre 2021).
  2. ^Pygame docs,suPygame.org.
  3. ^Archived copy,supygame.renpy.org.URL consultato il 14 ottobre 2014(archiviato dall'url originaleil 19 ottobre 2014).

Collegamenti esterni

[modifica|modifica wikitesto]