Accueil - Forum - Bibliothèque de ressources
____

Animer l'écran titre



But : Ce tutorial vous expliquera comment animer l'écran titre par l'affichage d'images en boucle.

Principe : On affichera en boucle des images dans un tableau et on mettra un temps de frame.

Tutorial :

Remarque : ce tutorial utilise entièrement la programmation de RPG Maker VX : le Ruby. Si vous ne connaissez pas du tout ce dernier, je vous conseille de lire les tutoriels fondamentaux sur le Ruby présent sur le site :)

Tout les codes seront à écrire dans le script "Scene_Title"

I) Initaliser les variables

L'initialisation sera fera évidemment dans la méthode "create_title_graphic". Vous avez normalement par défaut le code vers la ligne 140 :

Code Ruby@sprite = Sprite.new
@sprite.bitmap = Cache.system("Title")


Ce morceau de code permet d'afficher l'image de l'écran titre ... mais quelle image ?

L'image est dans le dossier "System" de votre projet qui est nommé "Title". En clair, le but est d'afficher plusieurs images donc ce code n'est pas suffisant.

Mais comment afficher plusieurs images ?

Comme dit le principe de ce tutorial, on va les afficher en boucle dans un tableau, nous allons donc créer le tableau :

Code Ruby@titles = ["Title1", "Title2"]


Ici, vous avez donc 2 images. Maintenant, il faut afficher la première image l'écran titre seulement pour initialiser :

Code Ruby@sprite.bitmap = Cache.system(@titles[0])


Vous pouvez aussi mettre

Code Ruby@sprite.bitmap = Cache.system("Title1")


en mettant la première image.

Enfin ... tous reviennent au même.

Maintenant, il faut initialiser des variables qui nous serviront de frames pour avoir un petit temps d'attente entre chaques affichages images. Comment allons nous faire ?
Imaginez que possédez un chronomètre. Vous déclenchez le chronomère et à 5 secondes, vous affichez une image et vous remettez à 0 le chronomètre et ainsi de suite. De la même manière, vous aurez une variable "chronomètre"

Code Ruby@nb_debut_Frame = 0


Enfin, on va initialiser la variable de la boucle :

Code Ruby@i = 0


Voici donc, au final, ce qu'on a pour les initalisations

Code Ruby @titles = ["Title1", "Title2"]
 @sprite.bitmap = Cache.system(@titles[0])
 @nb_debut_Frame = 0
 @i = 0


II) Afficher les images en boucle

Vous pensez sûrement qu'on va utiliser une boucle for ou while ... et non ! Car la méthode "update" tourne déjà en boucle, on aura n'a qu'à mettre au début de la méthode "update" nos codes :)

Nous allons lancer la variable "chronomètre" (à mettre après "@command_window.update") :

Code Ruby@nb_debut_Frame += 1


Remarque : Je rappelle que "@nb_debut_Frame += 1" est équivalent à "@nb_debut_Frame = @nb_debut_Frame + 1".

Ensuite, si la variable "chronomètre" atteint le temps défini, on remet celui ci à 0 et on change d'image.

Code Rubyif @nb_debut_Frame >= 5
   @nb_debut_Frame = 0
   @sprite.bitmap = Cache.system(@titles[@i])
   @i += 1
     # "@titles.size" est le nombre d'élément du tableau.
   if @i >= @titles.size      
      @i = 0
    end
end


Quand on a atteint 5 frames, on remet la variable "@nb_debut_Frame " à 0 et on affiche le premier élément du tableau donc la première image. Ensuite, on incrémente la variable i de 1. Comme cela, on affichera en boucle tout les éléments du tableau. Aussi, lorsqu'on est à la fin du tableau, il ne faut pas oublier de revenir au début de ce dernier. Pour cela, si la variable i est plus grand ou égal aux nombres d'éléments du tableau, on remet la variable i à 0.
Informations
Page créée le 10 Novembre 2008 à 15h 43 | Page vue 7684 fois | Auteur : Samarium

RPG Creative version 5 - Libérez votre créativité ! ; Mai 2005 - Mai 2012
0.035s - Optimisé pour une résolution 1024*728 - Tous droits réservés.

Contact - Partenaires - Historique - A propos