Le principe est très simple, le petit bout de script permet de modifier le comportement de la classe Window_Base pour permettre d'avoir un windowskin différent par fenêtre, c'est à dire de pouvoir forcer un windowskin différent autre que celui définit dans l'onglet système de la base de données.
Ajoutez ce script au dessus de main
(Ruby) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# Surcharge de la classe Window_Base class Window_Base # Surcharge méthode update def update super # Créer la variable @force_wsk si elle n'existe pas @force_wsk = false if @force_wsk.nil? # Si la variable @force_wsk est fausse if !@force_wsk # Si le windowskin systeme est diférent du windowskin de la fenêtre if $game_system.windowskin_name != @windowskin_name # Alors remettre le windowskin systeme @windowskin_name = $game_system.windowskin_name self.windowskin = RPG::Cache.windowskin(@windowskin_name) end end end # Méthode de forçage de windowskin, prend en paramètre une chaine # contenant le nom du windowskin a appliquer à la fenêtre def force_windowskin(pWindowskin) self.windowskin = RPG::Cache.windowskin(pWindowskin) @force_wsk = true end end |
puis il suffit d'utiliser la méthode force_windowskin(pWindowskin), soit dans la méthode initialize d'une classe Window_ après l'appel du constructeur de la classe parente (super), soit de l'appeler via l'instance d'une fenêtre.