Accueil - Forum - Bibliothèque de ressources
____

Les images - Sprites.



But : Affichez une image - Notion du Sprite.

1) Sprites

Vous avez soif ? On va parler de Sprites :p. Un Sprite est en fait une image que vous afficherez sur l'écran. Souvent, chez les graphistes, un Sprite est un personnage. Ici, le Sprite est utilisé dans un cas général. Si vous voulez faire une jauge, des effets de lumière ...etc. le Sprite est le plus approprié. RPG Maker XP possède, par exemple, les scripts "Sprite_Character" pour afficher les personnages, "Sprite_Battler" pour afficher les images des combattants et monstres dans les combats, "Sprite_Picture" pour les images (via les commandes d'évènement) ...etc.

2) La classe

Nous allons faire une classe très très simple :

Code Rubyclass Sprite_Perso < Sprite
  def initialize
   
  end      
end


En fait, la classe parente est "Sprite" donc tout le travail est fait ^^. Si vous avez la documentation RMXP, vous verrez toutes les méthodes pour la classe "Sprite". Nous allons les utiliser.

Tout d'abord, on appelle la méthode "initialize" dans la classe parente avec "super".
Ensuite, comme les fenêtres, nous allons mettre une Bitmap :

Code Rubyself.bitmap = Bitmap.new("Graphics/Pictures/Image")


"self" est le Sprite actuel. Ici, on assigne un Bitmap au Sprite.

Mais "Bitmap" n'a pas de dimensions là ??

Oui, en effet. "Image" est le lien vers l'image. En fait, "Bitmap" a soit des dimensions soit une image comme paramètres.

Note : On ne met pas d'extension à l'image. RPG Maker XP le convertit en PNG ou l'assigne si l'image est un PNG.

Comme la manipulation des Bitmaps pour les fenêtres, on utilise de la même manière avec les Sprites. Ainsi, si vous voulez supprimer le contenu du Bitmap avec "clear", on ferait :

Code Rubyself.bitmap.clear


Voici notre classe en entier :

Code Rubyclass Sprite_Perso < Sprite
  def initialize
   super
   self.bitmap = Bitmap.new("test")
  end    
end


La classe est évidemment très courte. Cela ne sera pas la cas pour des scripts plus développés même si généralement les classes "Sprite" sont moins importantes (en therme de longueur) que les autres scripts.

Faites un évènement et appellez via la commande d'évènement "Insérer un script" :

Code RubySprite_Perso.new


3) Un Sprite dans une scène.

Comme on a vu dans le tutorial "Une scène basique" :

Code Rubyclass Scene_Perso
  def main
   # Création du sprite
    @sprite = Sprite_Perso.new
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
     end
     Graphics.freeze
         # Suppression du Sprite à la fin de la scène
     @sprite.dispose
        @sprite.bitmap.dispose
  end
 end


Inutile de faire plein d'explication : mettre un Sprite dans une scène est comme une fenêtre. Ici, on créé un objet : @sprite.
@sprite prendra l'image du Bitmap défini dans la classe "Sprite_Perso" créé précédemment.

Si vous ne vous voulez pas pas faire de classe "Sprite_Perso", ce qui parfois inutile (comme là ^^), on peut déclarer un Sprite directement dans la scène, de cette manière :

Code Ruby@sprite = Sprite.new
 @sprite.bitmap = Bitmap.new("Graphics/Pictures/Image")


Ainsi, donc @sprite est un objet de "Sprite" est prend le Bitmap déclaré.

Voici la classe complète :

Code Rubyclass Scene_Perso
  def main
   # Création du sprite
    @sprite = Sprite.new
        @sprite.bitmap = Bitmap.new("Graphics/Pictures/Image")
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
     end
     Graphics.freeze
         # Suppression du Sprite à la fin de la scène
    @sprite.dispose
        @sprite.bitmap.dispose    
  end
 end
Informations
Page vue 8153 fois | Auteur : Samarium

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

Contact - Partenaires - Historique - A propos