| Changer de windowskin en cours de jeu ? [resolu] | |
|
Auteur | Message |
---|
Mage Lv.11
Age : 29 Inscrit le : 21/03/2009 Messages : 508
| Sujet: Changer de windowskin en cours de jeu ? [resolu] Lun 25 Mai 2009 - 18:36 | |
| Bonjour, En fait je voudrais savoir si on peut changer de windowskin en cours de jeu. Par exemple, au début on en a un et quand l'interrupteur (exemple): 'window01' est activé, il y a un autre windowskin qui se met en place en retirant l'ancien...
Est-ce que c'est possible ?
Merci d'avance! |
|
| |
Illusionniste Lv.12
Age : 30 Inscrit le : 30/11/2008 Messages : 660
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Lun 25 Mai 2009 - 19:35 | |
| J'ai déjà vue un script pouvant le faire mais je ne me souvient plus très bien s'il étais destiner a Vx ou Xp :s
Tu peut demander a La mèche pour le faire en event c'est peut-être possible ( je dit bient peut-être ) mais je ne me suis jamais pencher sur la question désoler. |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Mar 26 Mai 2009 - 7:43 | |
| - Code:
-
#============================================================================== # Multi-Windowskin par Sihn # Version 1.1 #==============================================================================
class Game_System def windowskin_name if @windowskin_name == nil return "Window" else return @windowskin_name end end def windowskin_name=(windowskin_name) @windowskin_name = windowskin_name end end
class Window_Base < Window def initialize(x, y, width, height) super() @windowskin_name = $game_system.windowskin_name self.windowskin = Cache.system(@windowskin_name) self.x = x self.y = y self.width = width self.height = height self.z = 100 self.back_opacity = 200 self.openness = 255 create_contents @opening = false @closing = false end alias windowskin_name_update update def update windowskin_name_update if @windowskin_name != $game_system.windowskin_name @windowskin_name = $game_system.windowskin_name self.windowskin = Cache.system(@windowskin_name) end end end
Pour changer de windowskin, utilises un "insérer un script" contenant : - Code:
-
$game_system.windowskin_name = "nom_du_windowskin" (dans le nom du windowskin, ne met pas l'extension) subdigital : le script que tu as vu était probablement destiné à VX, vu que XP gère déjà le changement de windoskin...^^ PS : Je suis bien l'auteur du script ci-dessus (mais pas la peine de me mettre dans des crédits pour si peu, hein!^^), cependant je n'ai pas inventé la roue. Ne vous étonnez donc pas si vous trouvez un d'autres scripts qui font exactement la même chose que celui-ci.
Dernière édition par Sihn le Jeu 28 Mai 2009 - 22:27, édité 2 fois |
|
| |
Mage Lv.11
Age : 29 Inscrit le : 21/03/2009 Messages : 508
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Mer 27 Mai 2009 - 13:19 | |
| Merci beaucoup ! Je vais le tester de suite!
Je te mettrai quand même dans mes crédits, car il me le fallais absolument...
Encore Merci !! |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Mer 27 Mai 2009 - 18:49 | |
| @Sihn : Normal, un script qui change les windowskin c'est simple a faire, et ça existe depuis longtemps ^^' Donc vu que je suis sure qu'il est de toi, tu a le droit de le poster dans partage de script pour en faire profiter un max de gens =) +10 en script en tout cas :p |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Mer 27 Mai 2009 - 18:53 | |
| Game_System c'est le script qui gère le dossier system ? |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Mer 27 Mai 2009 - 19:05 | |
| Non, il a créé une classe system pour gérer le windowskin. Il pouvait le nommer comme il veut. |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Mer 27 Mai 2009 - 20:46 | |
| Non plus, j'ai réutilisé la classe Game_System car c'est elle qui gère une partie du système sous VX. Enfin plus précisément les musiques. Cependant, dans RMXP, c'était également elle qui gérait les windowskins, d'où le choix de cette classe. Créer une nouvelle classe? Pourquoi faire? N'oublies pas qu'ensuite il faut les appeler, ces classes, pour qu'elles fonctionnes!^^ (raison supplémentaire pour réutiliser une classe déjà existante, et pouvant être appelée partout.^^) Re-poster ce script dans partage? If you want. (je le ferais dans la soirée) |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 15:51 | |
| Okay ! Par contre y'a un truc que je comprend pas >< Moi au debut j'avais fait ça - Code:
-
def initialize super() if $skin == nil self.windowskin = Cache.system("Window") else self.windowskin = Cache.system($skin) end # etc... Mais cela n'a rien fait... La fenetre restait la même. Pourquoi O.o |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 17:29 | |
| Mmm... 1) Ton "def initialize", il est dans quelle classe? (il est bien dans une classe, au moins?^^) 2) Question bête mais... tu as pensé à donner une valeur à $skin? |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 17:59 | |
| bah j'ai repris la methode initialize de Window_Base =) J'ai juste modifié - Code:
-
self.windowskin = Cache.system("Window") Par - Code:
-
if $skin == nil self.windowskin = Cache.system("Window") else self.windowskin = Cache.system($skin) end - Citation :
- tu as pensé à donner une valeur à $skin?
Oui... |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 18:36 | |
| Comment ça tu l'as "reprise"? - Code:
-
def initialize Déjà, c'est bizarre qu'il n'y est plus les paramètre pour la fonction, à savoir (x, y, width, height)... (je suppose que tu les as supprimé uniquement dans le post) Ensuite, t'as pas répondu à ma première question, qui est la plus importante... ^^; (la deuxième, c'était juste une vérification de routine) Dans quelle classe se trouve cette méthode? J'aimerais carrément un copié-collé du nom de ta classe, si possible. |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 18:45 | |
| - Code:
-
class Window_Base def initialize(x, y, width, height) super() if $skin == nil self.windowskin = Cache.system("Window") else self.windowskin = Cache.system($skin) end self.x = x self.y = y self.width = width self.height = height self.z = 100 self.back_opacity = 200 self.openness = 255 create_contents @opening = false @closing = false end end |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 19:16 | |
| Regarde ta classe : - Code:
-
class Window_Base Et regarde la mienne : - Code:
-
class Window_Base < Window Pas sur, pas testé (pour tout t'avouer, la flemme^^), mais je pense que ça vient de là. A part ça, je n'ai rien vu d'incorrect dans ton code. L'erreur est donc (je pense) une erreur à la cornemuse auquel personne ne pense, c'est à dire une tite faute de frappe dans le nom d'une variable, une erreur dans la prog de l'event, un truc dans le genre quoi... ou une erreur dans le nom de la classe.^^ |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 21:56 | |
| Le problème ne vient pas de là. Quand tu rappelles une classe déjà crée plus haut tu n'es plus obligé de mentionné sa mère. Chez moi même le script de shin ne fonctionne pas. |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Jeu 28 Mai 2009 - 22:17 | |
| Oh mais qu'est-ce que je suis c... Bon, j'ai trouvé le bug. ^^; (ça m'apprendra à faire les choses à la vas vite, tiens...) C'est "juste" que j'ai redéfini la méthode initialize, au lieu de la méthode update... Je vais refaire le script, j'éditerais le premier post une fois fait.
(en attendant, le changement de windowskin à bien lieu... mais à chaque changement de Scene.^^, )
Edito : Voiiila, script du premier post corrigé. Cette fois c'est la bonne.^^ |
|
| |
Mage Lv.11
Age : 29 Inscrit le : 21/03/2009 Messages : 508
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Ven 29 Mai 2009 - 4:56 | |
| Merci d'avoir corrigé, ça doit être bon maintenant^^ |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Ven 29 Mai 2009 - 7:09 | |
| A ce propos, re00be... Bien sur, j'apprécie les remerciements, mais la prochaine fois, teste avant et remercie après! Sur ce, je vous souhaite un bon making à tous.^^ [troll]Et vive XP qui gère nativement le changement de windowskin! :p[/troll] |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Ven 29 Mai 2009 - 9:24 | |
| Ah ! J'ai aussi pensé que c'étais un blem de def ! Ok ça y est j'ai compris x] |
|
| |
Mage Lv.11
Age : 29 Inscrit le : 21/03/2009 Messages : 508
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] Ven 29 Mai 2009 - 11:02 | |
| Désolé Sihn, je n'avais pas eu le temps de l'essayer... Ton script est fonctionnel, et il va beaucoup me servir, je te remercie beaucoup pour ton aide, tu sera dans mes crédits.
Cordialement, Re00be |
|
| |
| Sujet: Re: Changer de windowskin en cours de jeu ? [resolu] | |
| |
|
| |
| Changer de windowskin en cours de jeu ? [resolu] | |
|