CHAPITRE X
BSAVE, BLOAD Dans ce chapitre, nous allons aborder deux mots clés qui permettent de mettre une partie de la mémoire utilisé dans un fichier. Ceci est très pratique dans le cas où l’on voudrait utiliser plusieurs fois un sprite (ou tout autre objet graphique). En effet, cela permet de sauvegarder le fichier dans un fichier et on n’est plus obligé d’insérer tout le code avec des " DATA ". Créez le fichier : La première étape consiste bien entendu à créer le fichier qui va contenir le graphique. Pour cela, il convient de réaliser plusieurs manipulations. Tout d’abord, il faut informer Q-Basic à quel offset (adresse de mémoire) commence le graphique pour cela on utilise la syntaxe suivante : = VARSEG(nom_de_la_zone(0))Nom_de_la_zone représente le nom de la variable qui sert de sprite. Cette variable a été réaliser grâce à l’instruction GET (voir chapitre sur les sprite). Puis, l’étape suivante consiste à copier l’élément choisi dans le fichier. C’est là qu’arrive le mot clé BSAVE : pour l’utiliser, il faut respecter la syntaxe suivante :
"graphique.ext " est le nom du fichier à créer. Vous pouvez avoir n’importe quel nom de fichier, et n’importe quelle extension (pour ma part, j’utilise l’extension *.grh). "Taille" est la taille de votre variable : par exemple, si vous avez un sprite de 10x10, vous mettez … 100. Vous avez compris ? Bon là où cela se corse, c’est quand il faut mettre l’offset. Là il faut utiliser un nouveau mot clé : VARPTR. Ce mot clé, s’utilise un peu comme VARSEG. Il sert à pointer vers la zone mémoire que l’on a défini un peu plus haut. Par exemple pour un sprite de 10x10 et un fichier se nommant "graphique.grh", on écrit cela : = VARSEG(sprite(0))
BSAVE "graphique.ext", VARPTR(sprite(0)), 10*10 Une fois que vous aurez utiliser BSAVE, il vous faudra réutiliser la commande DEF SEG mais cette fois ci vous l’écrirez tout seul :
Cette commande sert à dire à signaler au Q-Basic qu’il peut retourner à l’emplacement qu’il était en train de traiter avant votre intervention.
Utilisez le fichier : Maintenant que vous savez comment sauvegarder une image dans un fichier en utilisant BSAVE, il va falloir l’afficher avec BLOAD. Bon, je vous le dis tout de suite : Il n’y a rien de plus facile. En effet, il suffit de crée le tableau qui accueillera l’image. sprite(10 * 10) AS BYTEEnsuite, il suffit de réutiliser la syntaxe suivante : = VARSEG(nom_de_la_zone(0))
BLOAD "graphique.ext", 0 DEF SEG Voilà maintenant l’image est dans le tableau sprite. Vous pouvez donc l’utiliser comme un sprite normal. J’espère que vous avez compris et surtout j’attends tous vos programmes ! |
Précédent | Sommaire | Q-Basic | Slasky Software | Liens | Mail