Menu
Eclipso logo
Merry Christmas !
28/03/2024 16:48:33

Merci du partage + des pouains - RitoJS

RGSS2 (VX) Soucis de window qui ne se met pas à jour

Hermoni

Entraîneur
Hermoni
  • Messages : 400

RGSS2 (VX) Soucis de window qui ne se met pas à jour


lun. 05 janv. 2015 - 23h29

Oy, derrière ce fat name de sujet j'ai un soucis avec un menu perso sur lequel je bosse depuis peu. Voila à quoi il ressemble pour le moment (pas fini). [spoiler][img]http://img15.hostingpics.net/pics/354670mastery.png[/img][/spoiler] Le soucis : Normalement quand on arrive dessus, on choisit entre Def et Offensif, la fenêtre de gauche s'update bien et affiche correctement les différents choix. Quand on arrive sur cette fenêtre, celle de droit devrait afficher selon c'qu'on choisi dans celle de gauche. Soucis... ça s'affiche pas ! Alors que j'ai mis dans le script de quoi vérifier qu'on va bien dedans et l'état de la variable qui est testée pour savoir quoi afficher. Du coup là j'vois pas le soucis depuis deux jours. [spoiler][code] #============================================================================== # ** Mastery # # Réglage de la mastery # #------------------------------------------------------------------------------ # #============================================================================== # * * * * * Les fenêtes ! #============================================================================== # ** Titre #============================================================================== class TitreMastery< Window_Base def initialize super(0, 0, 544, 60) refresh end def refresh self.contents.clear self.contents.draw_text(200, 0, self.width, WLH, "Maîtrise") end end #============================================================================== # ** Choix Def Offensif #============================================================================== class W_MasteryDO < Window_Selectable def initialize super (0, 60, 544, 60) @column_max = 2 s1 = "Défensif" s2 = "Offensif" @commands = [s1, s2] @item_max = @commands.size refresh end def refresh self.contents.clear create_contents for i in 0...@item_max draw_item (i) end end def draw_item(index) rect = item_rect (index) self.contents.clear_rect(rect) self.contents. draw_text (rect, @commands[index]) end end #============================================================================== # ** Liste ///// actor = actor ID type 0 = def 1 = off #============================================================================== class W_Mast_Liste < Window_Selectable def initialize (actor, type) super (0, 120, 272, 250) @actor = $game_party.members[actor].id @type = type @column_max = 1 @commands = [ ] listemastery @item_max = @commands.size refresh(type) end def listemastery case @type when 0 #Type------------------------------------------------------------------------- case @actor when 1 #Lucif s1 = "Neutre" s2 = "Feu" s3 = "Glace" s4 = "Terre" s5 = "Vent" s6 = "Ondes" s7 = "Protecteur" @commands = [s1,s2,s3,s4,s5,s6,s7] when 2 #Hermoni s1 = "Soins" s2 = "Protections" s3 = "Attaque" @commands = [s1,s2,s3] when 3 #Laenthis s1 = "Lame" s2 = "Givre" @commands = [s1,s2,s3] # etc etc etc end when 1 #Type------------------------------------------------------------------------- case @actor when 1 #Lucif s1 = "Lame" s2 = "Enchantements" @commands = [s1,s2] when 2 #Hermoni s1 = "Soins" s2 = "Protections" s3 = "Autres" @commands = [s1,s2,s3] when 3 #Laenthis s1 = "Physique" s2 = "Givre" s3 = "Assistance" @commands = [s1,s2,s3] # etc etc etc end end end def refresh(id) self.contents.clear @type = id create_contents listemastery for i in 0...@item_max draw_item (i) end end def draw_item(index) rect = item_rect (index) self.contents.clear_rect(rect) self.contents. draw_text (rect, @commands[index]) end end #============================================================================== # ** Liste 2///// actor = actor ID type = id dans la liste #============================================================================== class W_Mast_Liste2 < Window_Selectable def initialize (actor,type) super (272, 120, 272, 250) @type=type @actor = $game_party.members[actor].id @column_max = 1 @commands = [ ] listemastery @item_max = @commands.size refresh(type) end def listemastery case @actor when 1 lucifliste when 2 hermoliste end end def lucifliste p @type case @type when 1 p "Blablabla" s1 = "Test" s2 = "Truc" s3 = "Bidule" @commands = [s1,s2,s3] end end def hermoliste #a faire end def refresh(type) self.contents.clear @type=type+1 create_contents listemastery for i in 0...@item_max draw_item (i) end end def draw_item(index) rect = item_rect (index) self.contents.clear_rect(rect) self.contents. draw_text (rect, @commands[index]) end end #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------- # * Scène #-------------------------------------------------------------------------- class Scene_Mastery < Scene_Base def initialize(actor_id, index = 0, lindex = 0) @actor_id = actor_id @index = index @lindex = lindex end def start create_menu_background @titre = TitreMastery.new @choix = W_MasteryDO.new @choix.index = @index @liste = W_Mast_Liste.new(@actor_id, 0) @liste2 = W_Mast_Liste2.new(@actor_id, -1) @liste.index = @lindex @liste.active = false @liste2.active = false @liste.index = -1 @liste2.index = -1 end def update update_menu_background @titre.refresh @choix.refresh @choix.update @liste.refresh(@choix.index) @liste.update @liste2.refresh(@liste.index) @liste2.update if @choix.active update_choix_select elsif @liste.active update_liste_select elsif @liste2.active update_liste2_select end end def update_choix_select if Input.trigger?(Input::C) Sound.play_decision @choix.active = false @liste.active = true @liste.index = 0 elsif Input.trigger?(Input::B) $scene = Scene_Status2.new(@actor_id, 3) Sound.play_cancel end end def update_liste_select if Input.trigger?(Input::C) Sound.play_decision @liste.active = false @liste2.active = true @liste2.index = 0 elsif Input.trigger?(Input::B) @choix.active = true @liste.active = false @liste.index = -1 Sound.play_cancel end end def update_liste2_select if Input.trigger?(Input::C) Sound.play_decision #a gerer elsif Input.trigger?(Input::B) @liste2.active = false @liste.active = true @liste2.index = -1 Sound.play_cancel end end def terminate super dispose_menu_background @titre.dispose @choix.dispose @liste.dispose @liste2.dispose end end [/code][/spoiler] Thanks à celui qui pourra m'éclairer car là j'vois pas ! (yeah, super jeu de mot !)

Hermoni

Entraîneur
Hermoni
  • Messages : 400

RGSS2 (VX) Soucis de window qui ne se met pas à jour


jeu. 08 janv. 2015 - 18h47

Bon, finalement pour une raison qui m'échappe... j'ai réussi à debug après avoir modifier certains trucs par ci par là. J'ai pas pigé... mais ça fonctionne quand même xD Du coup finalement le post sert pas, desolé :D (sauf si quelqu'un capte c'qui foirait, toujours utile de piger)