Menu

Connexion



Retenir ?

Mot de passe oublié ?
Eclipso logo
Merry Christmas !
16/10/2019 11:07:39

Everything is awesomeeee

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


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


#==============================================================================
# ** 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


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é (sauf si quelqu'un capte c'qui foirait, toujours utile de piger)