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 XP : le Ruby. Si vous ne connaissez pas du tout ce dernier, je vous conseille de lire les tutoriaux fondamentals sur le Ruby présent sur le site :)

Tout d'abord, il y a deux méthodes pour animer l'écran titre. La première est un peu plus longue mais à mon goût plus simple à comprendre. Tout les codes seront à écrire dans le script "Scene_Title"

I) Première méthode
a) Initaliser les variables

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

Code Ruby@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)

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

L'image est dans le dossier "Titles" de votre projet qui est aussi enregistrée dans "$data_system.title_name". En clair, le but est d'afficher plusieurs images donc le code "$data_system.title_name" ne nous intéresse pas.

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 = RPG::Cache.title(@titles[0])

Vous pouvez aussi mettre

Code Ruby @sprite.bitmap = RPG::Cache.title("Title1")

en mettant la première image. Ou, vous pouvez laisser ce code mais en mettant la première image de l'écran titre dans la base de données de RPG Maker XP :

Code Ruby@sprite.bitmap = RPG::Cache.title($data_system.title_name)

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 = RPG::Cache.title(@titles[0])
 @nb_debut_Frame = 0
 @i = 0'

b) 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" :

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 Ruby if @nb_debut_Frame >= 5
   @nb_debut_Frame = 0
   @sprite.bitmap = RPG::Cache.title(@titles[@i])
   
   @i += 1

      # @titles.size est le nombre d'élément du tableau.
      if @i >= @titles.size      
         @i = 0
      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 (@titles.size), on remet la variable i à 0.

Voilà, le tutorial est fini, cependant ... il reste encore une petite question qui est facultative mais permet d'améliorer le code.

Informations
Page créée le 12 Août 2008 à 11h 18 | Page vue 8058 fois | Auteur : Samarium

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

Contact - Partenaires - Historique - A propos