Saleth Empire
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Saleth Empire

Site de projets de jeux vidéos de la team AMK
 
PortailAccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

 

 Partie 3 - Créer une fenêtre ( Window_Base )

Aller en bas 
3 participants
AuteurMessage
Siegfried
Admin
Admin
Siegfried


Masculin Nombre de messages : 1634
Age : 37
Localisation : Valence, France
Emploi : Etudiant
Loisirs : RPG Making, Musique, dessin, mangas
Date d'inscription : 17/05/2006

Partie 3 - Créer une fenêtre ( Window_Base ) Empty
MessageSujet: Partie 3 - Créer une fenêtre ( Window_Base )   Partie 3 - Créer une fenêtre ( Window_Base ) EmptyLun 3 Sep - 14:26

Partie 3 - Créer une fenêtre ( Window_Base )
Attention, pour suivre ce tutorial, il est conseillé d'avoir lu les parties précédentes.

Nous allons créer une fenêtre sans aucune base ( même s'il est conseillé de partir d'un script existant si on a des trous de mémoire ).

Cette fenêtre, nous l'appellerons Window_Test ( originalité quand tu nous tiens... ).

Commençons par créer la classe.
Code:
class Window_Test < Window_Base
 
end

Ensuite, attaquons la méthode initialize.
Code:
class Window_Test < Window_Base
  def initialize
   
  end
end

Complètons initialize ( les commentaires récapitulent ce que fait chaque ligne ).
Code:
  def initialize
    # Appel de la méthode initialize de la classe mère (x, y, largeur, hauteur)
    super(0, 0, 160, 160)
    # Définition du Bitmap ( contenu de la fenêtre )
    self.contents = Bitmap.new(width - 32, height - 32)
    # Définition de la police d'écriture et de sa taille
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    # Appel de la méthode refresh
    refresh
  end

Créons la méthode refresh.
Code:
class Window_Test < Window_Base
  def initialize
    super(0, 0, 160, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
  end
 
  def refresh
   
  end
end

Complètons refresh ( les commentaires récapitulent ce que fait chaque ligne ).
Code:
  def refresh
    # Efface le Bitmap ( contenu de la fenêtre ) avant de le metttre à jour
    self.contents.clear
    # C'est ici que vous déterminez ce qui sera affiché dans cette fenêtre.
    # Nous allons afficher un texte : Texte de test
    self.contents.draw_text(0, 0, 128, 32, "Texte de test")

Au final, le script devrait ressembler à ceci :
Code:
class Window_Test < Window_Base
  def initialize
    super(0, 0, 160, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.draw_text(0, 0, 128, 32, "Texte de test")
  end
end

Maintenant, pour la tester, suivez ces étapes :
1 - Créez un nouveau script, Scene_Test, et collez-y le code qui suit.
Spoiler:


2 - Créez un événement et insèrez-y un script ( dernière commande ) et mettez ceci :
Code:
$scene = Scene_Test.new

Notes
-Plus de détails sur les scènes dans un prochain cours, pour le moment nous ne faisons que tester notre fenêtre.
-Vous pouvez à tout moment revenir sur la map en appuyant sur B ( Touche annuler ).
-Relisez la partie 2 pour modifier un peu votre fenêtre en attendant la suite des cours qui vous apprendra à créer plusieurs types de contenus.


Dernière édition par le Mer 31 Oct - 0:27, édité 1 fois
Revenir en haut Aller en bas
https://saleth-empire.1fr1.net
Metroid_prime

Metroid_prime


Masculin Nombre de messages : 84
Age : 33
Localisation : Limousin, Limoges
Emploi : Lycéen
Loisirs : RPG, manga, l'ordinateur, astronomie
Date d'inscription : 07/08/2006

Partie 3 - Créer une fenêtre ( Window_Base ) Empty
MessageSujet: Re: Partie 3 - Créer une fenêtre ( Window_Base )   Partie 3 - Créer une fenêtre ( Window_Base ) EmptyLun 3 Sep - 15:38

Très interressant!Happy
C'est très utile de savoir faire au moins une fenêtre!Happy
Revenir en haut Aller en bas
kill00man




Masculin Nombre de messages : 11
Age : 34
Localisation : Un monde détresse
Emploi : Préparateur de retraite (nan je dec )
Loisirs : Ca te regarde tant que sa?
Date d'inscription : 31/08/2007

Partie 3 - Créer une fenêtre ( Window_Base ) Empty
MessageSujet: Re: Partie 3 - Créer une fenêtre ( Window_Base )   Partie 3 - Créer une fenêtre ( Window_Base ) EmptyLun 3 Sep - 18:15

J'aimerai préciser quelque chose rapidement, vous pouvez définir l'emplacement de la fentre a partir de scene_test : voyez la ligne @test_window = Window_Test.new
> @test_window permet allors bcp de chose, comme appelez un attribut de la Window_Test (exemple : @test_window.refresh (qui appailera la commande refresh de window_test) )
Mais sa permet aussi l'emplacement grâce a ces 2 commandes
@test_window.x = #ICI LA POSITION X
@test_window.y = #ICI LA POSITION Y

Si jamais vous fetes sa alors que vous aviez réglez les coordonées x et y dans la Window_Test, alors c la scene qui prend le dessus Wink

Bon je pense que siegfried vous détaillera sa mieu que moi dans un futur tuto Wink
Voila!
++
Revenir en haut Aller en bas
Siegfried
Admin
Admin
Siegfried


Masculin Nombre de messages : 1634
Age : 37
Localisation : Valence, France
Emploi : Etudiant
Loisirs : RPG Making, Musique, dessin, mangas
Date d'inscription : 17/05/2006

Partie 3 - Créer une fenêtre ( Window_Base ) Empty
MessageSujet: Re: Partie 3 - Créer une fenêtre ( Window_Base )   Partie 3 - Créer une fenêtre ( Window_Base ) EmptyLun 3 Sep - 18:56

Oui, ça sera détaillé dans la partie sur les Scenes. Happy
Ca permet d'ailleurs un meilleur positionnement de la fenêtre parfois. Smile
Revenir en haut Aller en bas
https://saleth-empire.1fr1.net
Contenu sponsorisé





Partie 3 - Créer une fenêtre ( Window_Base ) Empty
MessageSujet: Re: Partie 3 - Créer une fenêtre ( Window_Base )   Partie 3 - Créer une fenêtre ( Window_Base ) Empty

Revenir en haut Aller en bas
 
Partie 3 - Créer une fenêtre ( Window_Base )
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Partie 0 - Window, Window_Base et Window_Selectable
» Annonce- conernant la partie grpahisme

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Saleth Empire :: RPG Maker XP ::  RPG Maker XP : Support :: Premiers pas dans le scripting-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser