Bonjours à tous
Voici mon deuxième cour, aujourd'hui je vais vous apprendre comment créer une fenêtre.
Mais c'est quoi une fenêtre ? Une fenêtre est un élément de l'interface graphique qu'on peut remplir. Elle est généralement rectangle. Mais peut être polygone. Elle a le contour de votre Windowskin. Pour comprendre bien voici un petit screen :
Mais attention, ce n'est pas tout ce qui a un contour de Windowskin qui est une fenêtre. Elle peut être parfois transparente :
Ici il y a des fenêtre, mais transparente.
Comment créer une fenêtreCommencez par ceci:
- Code:
-
class Window_Test< Window Base
C'est pour commencer à créer votre fenêtre. On peut dire qu'il faut mettre chaque fois class pour commencer un script. C'est à peu prés ça mais pas toujours. Parfois avec Module. Mais je vous l'expliquerai plus tard, puis Window_Test. Vous pouvez la remplacer par n'importe quel autre nom. C'est le nom de votre fenêtre que vous pourrez appeler plus tard. < Window_Base. Comme expliqué dans le premier cour. Le RGSS est crée à partir des scripts de Rmxp. Donc avec ça. Ma fenêtre aura les même fonctions que Window_Base. Qu'on appelle l'héritage.
Remarque: Quand on donne un nom, il n'y a pas d'espace. remplacez par _,
Fin Partie mais
Fin_Partie Maintenant ajoutez ceci:
- Code:
-
def initialize
Pour initialiser certaines informations concernant notre fenêtre. Taille, police, couleur, positon etc.
- Code:
-
end
def refresh
end
end
Alors expliquons, le premier "end" est pour dire qu'on a fini les options sur notre fenêtre, comme le BBcode. puis "def refresh" c'est comme "def initialize" mais pour mettre nos informations sur notre fenêtre: image, texte, valeurs etc. puis l'autre "end" pour dire qu'on terminé la notre méthode et le deuxième pour dire qu'on fini la class, enfin le script =D si vous avez compris.
Les options de la fenêtreMaintenant on va s'attaquer aux options de la fenêtre, taille, position etc. Donc après "def initialize" voici un petit exemple, pour la position et la taille c'est ce code:
- Code:
-
super(x,y, Width, Height)
x: C'est la coordonnée d'affichage X de votre fenêtre, n'oubliez pas. C'est défini par rapport aux pixels du haut gauche
y: C'est la coordonnée d'affichage Y de votre fenêtre
Width: C'est la largeur de votre fenêtre
Height: C'est la hauteur de votre fenêtre
On peut faire ce petit exemple:
- Code:
-
super(50,50,250,43)
Puis en dessous:
- Code:
-
self.contents = Bitmap.new(width - 32, height - 32)
C'est pour créer une Bitmap, On peut dire que c'est le lieu où on va poser nos informations(ne vous attendez pas à une image qui sort de votre fenêtre) width et height sont la taille de la bitmap. Pourquoi -32 ? tout simplement pour faire jolie de notre fenêtre ^^. Pour expliquer. width et height son comme les précédents valeurs des options de notre fenêtre
- Citation :
Width: C'est la largeur de votre fenêtre
Height: C'est la hauteur de votre fenêtre
Vous vous souvenez ? si vous mettez 50 de largeur, la largeur notre bitmap sera 50. Mais notre fenêtre a un contour. et on ne veut pas que ces informations se trouvent dans ce contour. donc on fait un -32. Attention. Ici on additionne. Il faut utiliser des nombres négatifs sinon si vous utilisez des nombres comme +32 sinon Rmxp va ajouter des flèches du Windowskin. Comme le Bitmap représente le contenu. Pas de Bitmap Pas de contenu. Résultat, une fenêtre vide
Maintenant au dessous:
- Code:
-
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
c'est très facile =P, c'est pour définir la police et la taille du texte qui sera écrit dans votre fenêtre, remplacez $fontface par le nom de votre police ou laissez-la, remplacez $fontsize par la taille du texte ou laissez-la. Pourquoi ? Parce qu'ils sont déjà définis dans le script Main puis $fontface est Arial et $fontsize est 22
Remarque: Arial doit être entouré de deux guillaumes américains comme ceci "Arial". Mais pas $fontsize.
FacultatifVoici quelques fonctions facultatifs, pas obligatoire à ajouter mais très utiles. Ajoutez avant le "end" de la def initialize:
- Code:
-
self.opacity=255
C'est l'opacité de votre fenêtre, vous pouvez mettre 0 pour rendre votre fenêtre transparente
- Code:
-
self.contents_opacity=255
C'est l'opacité du contenu de votre fenêtre
- Code:
-
self.back_opacity=255
L'opacité du fond
- Code:
-
self.z=0
C'est la superposition de votre fenêtre
Comment tester ma fenêtre ?Il y a quelques technique pour appeler votre fenêtre, mais je vous révéler une seule seulement pour ne pas trop vous embrouillez. Les autres vont être expliqués dans les prochain cours. C'est simple, avec la commande insérer un script mettez
- Code:
-
$chose=Votre_Window.new
Donc vous pouvez seulement remplacer $chose par un autre. Mais on peut dire que c'est une variable, si vous voulez l'effacer ce n'est pas comme ça:
- Code:
-
Votre_Window.dispose
FauxMais comme ceci:
- Code:
-
$chose.dispose
Et comme je l'ai dit c'est une variable donc doit commencer par un $.
Le tutoriel est enfin terminé. Je vous ai montré comment créer une simple fenêtre. Dans le prochain cour je vais vous expliquer comment la remplir(image, variable etc.) et pour terminer voici un exemple de script:
- Code:
-
class Window_Test < Window_Base
#Le nom de notre fenêtre et qu'elle utilise les fonctions(héritée) de Window_Base
def initialize
#def initialize pour initialiser les informations de notre fenêtre
super(50, 20, 210, 210)
#La position et la taille de notre fenêtre
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Comic Sans MS"
#La police est Comic Sans MS
self.contents.font.size = 20
#La taille est de 20
self.opacity=150
#L'opacité est de 150
end # La fin de def intialize
def refresh
#C'est le contenu de notre fenêtre, mais on la connaitra plus tard
end#Fin de def refresh
end # La fin de notre class ou script
Enjoy.