Pygame
Pygame è un insieme di moduli Python progettato per la scrittura di giochi. Si basa sulla libreria SDL.
PyGame software | |
---|---|
Genere | Ambiente di sviluppo di videogiochi Libreria di Python |
Sviluppatore | Pygame Community |
Ultima versione | 2.6.1 (29 settembre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C Python |
Licenza | GNU Lesser General Public License (licenza libera) |
Sito web | www.pygame.org |
La prima versione è uscita il 28 ottobre 2000, è completamente Open Source (sotto licenza LGPL) ed è in continuo sviluppo.
Esempi
modificaQuesto codice presume che nella stessa directory in cui è eseguito ci sia una immagine (di una palla) di nome ball.png che si muoverà velocemente nella finestra.
import sys, 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()
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
ballrect = ballrect.move(speed)
if ballrect.left < 0 or ballrect.right > width:
speed[0] = -speed[0]
if ballrect.top < 0 or ballrect.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.
Moduli
modificaDi 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
modificaPygame utilizza la libreria Simple DirectMedia Layer (SDL), con l'intenzione di consentire lo sviluppo di giochi per computer in tempo reale senza la meccanica di basso livello del linguaggio di programmazione C e dei suoi derivati.[1] Questo si basa sul presupposto che le funzioni più costose all'interno dei giochi possano essere astratte dalla logica del gioco, rendendo possibile l'utilizzo di un linguaggio di programmazione di alto livello, come Python, per strutturare il gioco.
Altre funzionalità di SDL includono matematica vettoriale, rilevamento delle collisioni, gestione del grafico di scene sprite 2D, supporto MIDI, fotocamera, manipolazione di pixel-array, trasformazioni, filtri, supporto avanzato per font freetype e disegno.[2]
Le applicazioni che utilizzano Pygame possono essere eseguite su telefoni e tablet Android con l'uso di Pygame Subset per Android (pgs4a). Suono, vibrazione, tastiera e accelerometro sono supportati su Android.[3]
Note
modifica- ^ Mark Lutz, Learning Python, 5th Edition, ISBN 978-1449355739. URL consultato il 21 settembre 2021 (archiviato dall'url originale l'8 ottobre 2021).
- ^ Pygame docs, su Pygame.org.
- ^ Archived copy, su pygame.renpy.org. URL consultato il 14 ottobre 2014 (archiviato dall'url originale il 19 ottobre 2014).
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file su Pygame
Collegamenti esterni
modifica- (EN) Sito ufficiale, su pygame.org.
- Pygame, su packages.debian.org.
- Repository sorgenti di Pygame, su github.com.
- Sito di segnalazione bug, su github.com.
- Sito italiano di Python, su python.it.