Molto importante per un gioco è la grafica.
In Div2 ogni singola animazione è un'immagine che deve essere gestita dal
programmatore. Siccome le animazioni possono essere molto numerose è possibile
salvarle in un unico file di estensione .fpg dove a ogni immagine corrisponderà
un numero.
Il file viene caricato nella RAM con la funzione
Load_fpg("nomefile.fpg")
e associato al processo che utilizzerà le animazioni contenute con la variabile locale file.
Alla fine del suo uso si scarica dalla memoria con la funzione
Unload_fpg(numerofpg).
Ecco un esempio:
Process Animazione(); Begin
File=Load_Fpg("nomefile.fpg");
linee di programma
...
Unload_Fpg(File);
End.
Ogni processo ha la sua variabile locale
Graph
dove si immette
il numero dell'immagine da visualizzare a video.
Se nel file .fpg le immagini di
un'animazione sono messe in successione si potrà creare l'animazione
semplicemente incrementando la variabile Graph.
Ecco un esempio:
Begin
File=Load_Fpg("nomefile.fpg");
Graph=1;
Repeat
Graph++;
Frame;
Until (Graph==6);
Unload_Fpg(File);
End.
Immagini:
Risultato:
La funzione
Frame
permette al sistema di passare da un processo all'altro e di fare un refresh
video di tutte le immagini presenti.
Per poter spostare un'immagine sul video esistono le due variabili locali x e
y che si riferiscono alle coordinate corrispondondenti in pixel alla larghezza e all'altezza della
risoluzione video adottata (640x480, 800x600, ecc...)
Alcune immagini statiche, come gli sfondi, non hanno bisogno di essere caricate
nei processi. Per queste esistono le funzioni
Put_Screen(NomeFile, Numero immagine) Put(NomeFile, Numero immagine, x, y)
che permettono di posizionare un'immagine sullo sfondo dello schermo
rispettivamente centrata e in una
determinata posizione.
Mentre le precedenti animazioni vengono eliminate quando finisce il processo,
queste rimangono sempre finché non si usa la funzione
Clear_Screen().
|