16-07-2011, 10:41 AM
Premetto che questo tutorial, ovviamente, posso divulgarlo a voi solo grazie ad altri tutorial che si trovano in giro per la rete, ma a me sembrava più carino riscrivervelo piuttosto che rigirarvi un link...
Innanzitutto, siccome questo è il primo tutorial, dobbiamo scaricare Python ed anche PyGame, facendo attenzione a scaricare PyGame relativamente alla versione di Python che abbiamo precedentemente scaricato... Una volta installato Python (non penso che servano spiegazioni su come fare), dobbiamo installare PyGame, indicandogli la cartella dove abbiamo installato Python... Per verificare l'esito positivo dell'installazione di Pygame, apriamo la shell di Python, e scriviamo:
>>>import pygame
>>>pygame.init()
Se Python non ci rimanderà nessun errore, allora avremo installato PyGame con successo.
Prima di cominciare, scarichiamo l'immagine che andremo a visualizzare alla fine del tutorial (ricordatevi di mettere l'immagine nella stessa cartella dove salverete il progetto, altrimenti vi verrà rimandato un errore).
Iniziamo subito a scrivere il nostro primo file di prova...
°Qui memorizziamo il nome dell'immagine che andremo in seguito a visualizzare:
imm_sfondo = "ciaomondo.xcf"
°Adesso importiamo le librerie di PyGame:
import pygame
°Ora importiamo le variabili locali:
from pygame.locals import *
°E qui importiamo l'uscita per il programma dalle librerie di sistema:
from sys import exit
°Adesso caricheremo tutti i moduli di PyGame:
pygame.init()
°Qui andiamo a creare una finestra delle dimensioni di 640 x 480 con doppio buffer, accellerazione hardware, ed una profondità di 32 byte (notare che non scriviamo pygame.DOUBLEBUF, perchè abbiamo precedentemente importato le variabili locali):
screen = pygame.display.set_mode((640,480), DOUBLEBUF | HWSURFACE, 32)
°Ora impostiamo il nome della finestra appena creata:
pygame.display.set_caption("Ciao Mondo")
°Qui convertiamo l'immagine che vogliamo visualizzare come sfondo in una superficie, per la corretta visualizzazione della stessa:
sfondo = pygame.image.load(imm_sfondo).convert()
°Adesso andiamo a scrivere il "vero" corpo del nostro file di prova, dove il primo ciclo equivale alla frame di gioco ed il secondo serve per controllare e gestire le azioni dell'utente, in questo caso, quando l'utente vorrà chiudere l'applicazione. Con screen.blit(sfondo,(0,0)), diamo le coordinate di origine della nostra immagine di sfondo (a partire dall'angolo in alto a sinistra della finestra), mentre con pygame.display.flip() diciamo a Python di scambiare il buffer seguente con quello successivo (precedentemente ne abbiamo messi due con l'accelerazione hardware), senza fargli ridisegnare tutto d'accapo ad ogni refresh:
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
screen.blit(sfondo,(0,0))
pygame.display.flip()
Il risultato finale dovrebbe essere questo:
Innanzitutto, siccome questo è il primo tutorial, dobbiamo scaricare Python ed anche PyGame, facendo attenzione a scaricare PyGame relativamente alla versione di Python che abbiamo precedentemente scaricato... Una volta installato Python (non penso che servano spiegazioni su come fare), dobbiamo installare PyGame, indicandogli la cartella dove abbiamo installato Python... Per verificare l'esito positivo dell'installazione di Pygame, apriamo la shell di Python, e scriviamo:
>>>import pygame
>>>pygame.init()
Se Python non ci rimanderà nessun errore, allora avremo installato PyGame con successo.
Prima di cominciare, scarichiamo l'immagine che andremo a visualizzare alla fine del tutorial (ricordatevi di mettere l'immagine nella stessa cartella dove salverete il progetto, altrimenti vi verrà rimandato un errore).
Iniziamo subito a scrivere il nostro primo file di prova...
°Qui memorizziamo il nome dell'immagine che andremo in seguito a visualizzare:
imm_sfondo = "ciaomondo.xcf"
°Adesso importiamo le librerie di PyGame:
import pygame
°Ora importiamo le variabili locali:
from pygame.locals import *
°E qui importiamo l'uscita per il programma dalle librerie di sistema:
from sys import exit
°Adesso caricheremo tutti i moduli di PyGame:
pygame.init()
°Qui andiamo a creare una finestra delle dimensioni di 640 x 480 con doppio buffer, accellerazione hardware, ed una profondità di 32 byte (notare che non scriviamo pygame.DOUBLEBUF, perchè abbiamo precedentemente importato le variabili locali):
screen = pygame.display.set_mode((640,480), DOUBLEBUF | HWSURFACE, 32)
°Ora impostiamo il nome della finestra appena creata:
pygame.display.set_caption("Ciao Mondo")
°Qui convertiamo l'immagine che vogliamo visualizzare come sfondo in una superficie, per la corretta visualizzazione della stessa:
sfondo = pygame.image.load(imm_sfondo).convert()
°Adesso andiamo a scrivere il "vero" corpo del nostro file di prova, dove il primo ciclo equivale alla frame di gioco ed il secondo serve per controllare e gestire le azioni dell'utente, in questo caso, quando l'utente vorrà chiudere l'applicazione. Con screen.blit(sfondo,(0,0)), diamo le coordinate di origine della nostra immagine di sfondo (a partire dall'angolo in alto a sinistra della finestra), mentre con pygame.display.flip() diciamo a Python di scambiare il buffer seguente con quello successivo (precedentemente ne abbiamo messi due con l'accelerazione hardware), senza fargli ridisegnare tutto d'accapo ad ogni refresh:
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
screen.blit(sfondo,(0,0))
pygame.display.flip()
Il risultato finale dovrebbe essere questo: