Une fenêtre basique.
But : Vous pourrez via ce tutorial savoir créer une simple fenêtre en Ruby pour votre jeu.
1) Création de la classe
Nommez la classe et héritez la de Window_Base. Hériter notre fenêtre permettra de prendre les méthodes déjà écrites dans le script "Window_Base", particulièrement pour les dimensions de la fenêtre. Nous allons avoir 2 méthodes : "initialize" pour initialiser les variables ainsi que "refresh" pour le texte :
2) Initialiser.
Dans la méthode "initialize", nous allons initialiser les dimensions de la fenêtre ainsi que la création du Bitmap et le type d'écriture.
La méthode "super" appelle la méthode qui a été définie dans la classe héritée, c'est à dire, on appelle ici la méthode "initialize" de Window_Base. Voici les paramètres :
Enfin, on crée la Bitmap :
"width" est la largeur de la fenêtre
"height" est la longueur de la fenêtre
Le "contents" est la référence au bitmap (Bitmap) utilisé pour le contenu de la fenêtre. Ainsi, cela revient à dire : "Je mets un Bitmap dans cette (self) fenêtre avec une certaine taille.
Attention ! Si vous mettez une taille négative au Bitmap, vous allez avoir une erreur de ce type : RGSS
Error - failed to create bitmapIl est vrai qu'au début, on a du mal à comprendre le "Bitmap" .. et puis pourquoi on enlève 32 au dimensions de celui ci ??
Voici d'une façon imagé, l'explication du Bitmap.
Ici, en bleu, c'est la fenêtre qu'on a créé avec ces dimensions. En noir, c'est le Bitmap ! Tout sera dedans, texte, image ...etc. On enlève 32 pour faire une marge en bas et à gauche.

Si maintenant, nous mettons - 70 dans les dimensions du Bitmap :
Cela va donner ceci :

Enfin, si le Bitmap est plus grand que la fenêtre, donc on rajoute 70 par exemple :
Voici le résultat :

RPG Maker XP rajoute des flèches (qui sont dans le Windowskin) entourées en vert sur l'image ci-dessus. Remarquez qu'il y a toujours une marge entre la fenêtre et le Bitmap même si on le dépasse.
Rappelez vous, tout les éléments sont dans le Bitmap ! Ainsi, créer une fenêtre sans le Bitmap ne sert à rien.
Continuons ... nous allons mettre maintenant la taille du texte ainsi que ça police
Les deux variables globales $fontface et $fontsize ont été définie dans le script Main. Ainsi, vous donnez la taille et la police au texte contenu dans ce Bitmap (= contents) de cette fenêtre (= self)
Nous allons mettre le texte, pour cela, appelons une autre méthode "Refresh". Pourquoi ? Plus tard, si vous voulez mettre à jour le texte de la fenêtre, vous ne pourrez pas appeler "initialize" (ou bien ça demanderait à rappeler à chaques fois la classe, ce qui déconseillé), il faudra appeller tout simplement "Refresh".
Voici le récapitulatif de la méthode "initialize"
3) Le contenu
Le contenu sera très basique : un texte :p
Tout d'abord, on va effacer ce qu'il y a dans le Bitmap avec "clear"
Pourquoi ?
Si vous mettez un texte mais, plus tard, vous rappelez la méthode "refresh", le nouveau texte va superposer le texte si on ne mettait pas "clear". Vous pouvez tester en enlevant cette ligne de code dans le script "Window_PlayTime". Lorsque vous testez le jeu, le temps de ce dernier s'actualise, évidemment, chaque seconde mais la nouvelle seconde superpose le texte ... ce qui rend illisible le texte. Bref, en mettant "clear" sur le Bitmap, vous prendrez l'habitude d'éviter ce genre de problème.
Enfin, nous allons mettre enfin ce fameux texte :
On affiche le texte sur les positions X et Y à partir du Bitmap et non de la fenêtre.
La largeur et la hauteur s'applique au texte. Ainsi, si la largeur par exemple est plus petite que ce qu'il faudrait, le texte sera réduit.
Voici le code final de notre fenêtre :
Page modifiée (1 fois) le 30 Octobre 2008 à 12h 48 | Page vue 10805 fois | Auteur : Samarium

