Pygame: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nico96 (discussione | contributi)
Nessun oggetto della modifica
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(83 versioni intermedie di 45 utenti non mostrate)
Riga 1:
{{Software
{{S|informatica}}
|Nome = PyGame
{{Infobox Software
| nomeLogo = PyGame
| logoScreenshot =
|Didascalia =
| screenshot =
|Sviluppatore = Pygame Community
| didascalia =
| sviluppatoreUltimaVersione =
|DataUltimaVersione =
| versione ultimo rilascio =1.8.1
|UltimaVersioneBeta =
| data ultimo rilascio = 30 [[Giugno]] 2009
|DataUltimaVersioneBeta =
| versione beta =
|SistemaOperativo = multipiattaforma
| data versione beta =
|Genere = sviluppo videogiochi
| sistema operativo = [[Windows]],[[Mac OS X]],[[Linux]],[[Nokia]],[[BeOS]]
| linguaggioGenere2 = [[Libreria Python]]
|Licenza = [[GNU Lesser General Public License]]
| genere = Moduli [[Python]]
|SoftwareLibero = sì
| licenza = [[LGPL]]
|SitoWeb =
| sito web = http://www.pygame.org
|Lingua =
}}
'''Pygame''' è un insieme di moduli [[Python]] progettato per la scrittura di giochi. Si basa sulla libreria [[Simple DirectMedia Layer|SDL]].
 
La prima versione fuè rilasciatauscita il [[28 ottobre]] [[2000]], è completamente [[Open Source]] (sotto licenza [[LGPL]]) ed è in continuo sviluppo.
 
==Collegamenti esterniEsempi ==
Questo 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.
* [http://www.pygame.org Sito ufficiale - pygame.org]
 
<syntaxhighlight lang="python">
{{Portale|Videogiochi}}{{portale|informatica}}
import sys, time, pygame
[[Categoria:Informatica|Informatica]]
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()
</syntaxhighlight>
 
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).
[[de:Pygame]]
Il resto del codice crea una finestra, carica la palla nella finestra e la muove usando un ciclo infinito.
[[en:Pygame]]
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.
[[es:Pygame]]
 
[[fr:Pygame]]
== Moduli ==
[[nl:Pygame]]
Di seguito sono elencati i moduli integrati nell'ultima versione di PyGame
[[pl:Pygame]]
 
[[pt:Pygame]]
{| class="wikitable"
[[fi:Pygame]]
|-
[[sv:PyGame]]
! Modulo !! Descrizione
[[tr:Pygame]]
|-
[[zh:Pygame]]
| 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==
Pygame utilizza la libreria Simple DirectMedia Layer (SDL), con l'intenzione di consentire lo sviluppo di [[Gioco|giochi per computer]] in tempo reale senza la meccanica di basso livello del linguaggio di programmazione [[C]] e dei suoi derivati.<ref>{{Cita libro|titolo=Learning Python, 5th Edition|autore=Mark Lutz|ISBN=978-1449355739|url=https://python.engineering/learning-python-5th-edition/|accesso=21 settembre 2021|dataarchivio=8 ottobre 2021|urlarchivio=https://web.archive.org/web/20211008150419/https://python.engineering/learning-python-5th-edition/|urlmorto=sì}}</ref> 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|freetype]] e disegno.<ref>{{cita web|url=https://www.pygame.org/docs/ |titolo=Pygame docs|sito=Pygame.org}}</ref>
 
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.<ref>{{cita web|url=http://pygame.renpy.org/api.html |titolo=Archived copy |accesso=14 ottobre 2014 |urlmorto=si |urlarchivio=https://web.archive.org/web/20141019204533/http://pygame.renpy.org/api.html }}</ref>
 
== Note ==
<references/>
== Voci correlate ==
* [[Python]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|http://www.python.it/|Sito italiano di Python}}
 
{{portale|software libero|videogiochi}}