Accueil - Forum - Bibliothèque de ressources
____

Une fenêtre de sélection.



But : Faire une fenêtre de sélection basique



1) La ligne de code magique

En fait, vous n'avez rien à faire. Il existe déjà le script dans RPG Maker XP pour faire cela. Vous le savez sûrement, puisque cette fenêtre apparait dès le démarrage dans l'écran titre.

La classe a appelée est "Window_Command" :

Code Window_Command.new(longueur, Tableau des commandes)


Longueur : est la longueur de la fenêtre
Tableau des commandes : un tableau avec les différentes commandes : ["Commande 1", "Commande 2", "Commande 3", ...etc]

Voilà, il suffit de créer votre fenêtre de sélection :

Code Ruby@select_window = Window_Command.new(192, ["Commande 1", "Commande 2", "Commande 3"])


Hyper simple, non ?

2) Mettre dans la scène.

Puisque c'est une fenêtre, vous savez comme faire alors. Je mets le code au complet :

Code Rubyclass Scene_Perso
  def main
   # Création du la fenêtre de sélection
    @select_window = Window_Command.new(192, ["Manger", "Boire", "Dormir"])
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
     end
     Graphics.freeze
         # Suppression du fenêtre à la fin de la scène
     @select_window.dispose
  end
 
  def update
  # Mise à jour de la fenêtre
    @select_window.update
  end
 end
.

3) Savoir ce que le joueur a sélectionné

Si vous faites une fenêtre de sélection, il est évidemment que vous voulez savoir ce que le joueur a sélectionné, c'est logique ^^. Tout d'abord, la sélection a lieu seulement quand le joueur appuie sur Entrée. Pour savoir, on va utiliser :

Code Ruby# "C" equivaut à Entrée ou Espace ou C
if Input.trigger?(Input::C)
 end


Mais où le mettre ?

Bien entendu, durant l'exécution du jeu donc durant les mises à jour :

Code Rubydef update
  # Mise à jour de la fenêtre
    @select_window.update
        # Quand le joueur va appuyer sur Entrée
        if Input.trigger?(Input::C)
    end
  end
 


C'est bien beau de savoir que le joueur appuie sur Entrée mais sur quelle commande ? 1, 2 ou 3 ?
Grâce à la commande "index", vous pouvez le savoir : @select_window.index
Ici, @select_window.index vaudra :



Si le joueur est sur la commande 2, @select_window.index vaudra 1

Ainsi, voici la code :

Code Rubydef update
  # Mise à jour de la fenêtre
    @select_window.update
        # Quand le joueur va appuyer sur Entrée
        if Input.trigger?(Input::C)
          case @select_window.index
      when 0
        # Ce qu'il se passera quand le joueur sélectionne la commande 1
      when 1
        # Ce qu'il se passera quand le joueur sélectionne la commande 2
      when 2
        # Ce qu'il se passera quand le joueur sélectionne la commande 3
      end
    end
  end
 
Informations
Page modifiée (1 fois) le 27 Avril 2009 à 13h 08 | Page vue 4081 fois | Auteur : Samarium

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

Contact - Partenaires - Historique - A propos