Creare Videogiochi - Game Developer

Versione completa: Tutorial - Pygame
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
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:

[Immagine: ciaomondo.png]
ok grande federico sei stato chiarissimo, io sto iniziando proprio ora a imparare un po di python diciamo che sono proprio un novellino Smile, volevo farti una domanda come mai mi rimane la finestra nera quando lancio il programma? magari sbaglio qualcosa io :O
ok risolto, funziona tutto perfettamente! grazie ancora federico sei un grande mi hai illuminato parzialmente il che è già una buona cosa! Big Grin
ciao federico anche io ho lo stesso problema di datadave non riesco a capire perchè si apre e chiude istantaneamente la finestra di cmd!
potresti aiutarmi?
grazie in anticipo =D
potresti perfavore fare dei video su questo e ampliare perchè conosco abbastanza python ma non la libreria pygame grz e grande sei fantasticoSmile