Sujet: Re: Fusion menu quête avec fond en image !!! Lun 3 Oct 2011 - 12:39
up
Invité
Invité
Sujet: Re: Fusion menu quête avec fond en image !!! Lun 3 Oct 2011 - 13:45
Voilà, j'ai essayé de le faire, en espérant que ça marche, vu que je peux pas le tester sans Windows et que je suis sous Linux pour le moment (/ma life). Enfin voilà, tu touches pas au script de Raito, tu le laisses tel qu'il est dans ton projet, et tu remplaces le code de Zang' par celui que je te donne en-dessous. Si ça marche pas, dis-le moi, je peux pas regarder, alors j'essaierai de retoucher à nouveau.
Voilà, bonne continuation !! (et oublie pas de mettre Zang' et Raito' dans tes crédits (moi tu peux m'oublier, j'ai modifié même pas 5 lignes...))
Code:
#============================================================================== # ** Scenes modifiées #------------------------------------------------------------------------------ # Cela va permettre de mettre des image en fond des scenes qui sont dans le menu. #============================================================================== module Zang_Scenes # Nom de l'image dans le dossier pictures Image = "Back2"
# Activer l'option pour les divers Scenes # Inventaire Item = true # Menu de compétances Skill = true # Equiper Equip = true # Status Stat = true # Sauvegarde Save = true #Quetes Quete = true end
class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Item zang_start do_opa if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @item_window.z = 100 @item_window.back_opacity = 0 @item_window.help_window.back_opacity = 0 end
end
class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Skill zang_start do_opa if Zang_Scenes::Skill end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Skill end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 @skill_window.z = 100 @skill_window.back_opacity = 0 @skill_window.help_window.back_opacity = 0 end
end
class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Equip zang_start do_opa if Zang_Scenes::Equip end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Equip end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 @equip_window.z = 100 @equip_window.back_opacity = 0 @equip_window.help_window.back_opacity = 0 for i in 0...EQUIP_TYPE_MAX @item_windows[i].back_opacity = 0 end end
end
class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Stat zang_start do_opa if Zang_Scenes::Stat end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Stat end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 end
end
class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Save zang_start do_opa if Zang_Scenes::Save end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Save end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @help_window.back_opacity = 0 for i in 0..3 @savefile_windows[i].back_opacity = 0 end end
end
class Scene_Quete < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Quete zang_start do_opa if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @quete.back_opacity = 0 @liste.back_opacity = 0 end
end
#============================================================================== # ** Scene_Base #------------------------------------------------------------------------------ # This is a superclass of all scenes in the game. #==============================================================================
class Scene_Base #-------------------------------------------------------------------------- # * Create Background for Menu Screen #-------------------------------------------------------------------------- def create_backsprite @back_sprite = Sprite.new @back_sprite.bitmap = Cache.picture(Zang_Scenes::Image) @back_sprite.color.set(16, 16, 16, 128) update_background @back_sprite.z = 0 end #-------------------------------------------------------------------------- # * Dispose of Background for Menu Screen #-------------------------------------------------------------------------- def dispose_backsprite @back_sprite.dispose end #-------------------------------------------------------------------------- # * Update Background for Menu Screen #-------------------------------------------------------------------------- def update_background end
end
zouzaka
Croisé Lv.14
Age : 26 Inscrit le : 22/05/2011 Messages : 1141
Sujet: Re: Fusion menu quête avec fond en image !!! Lun 3 Oct 2011 - 17:47
je vais voire merci
P.S: il marche ^^
zouzaka
Croisé Lv.14
Age : 26 Inscrit le : 22/05/2011 Messages : 1141
Sujet: Re: Fusion menu quête avec fond en image !!! Jeu 6 Oct 2011 - 17:55
Tu pourait me dire les étape pour modif le scripte ???
Invité
Invité
Sujet: Re: Fusion menu quête avec fond en image !!! Jeu 6 Oct 2011 - 19:30
Code:
#============================================================================== # ** Scenes modifiées #------------------------------------------------------------------------------ # Cela va permettre de mettre des image en fond des scenes qui sont dans le menu. #============================================================================== module Zang_Scenes # Nom de l'image dans le dossier pictures Image = "Back2"
# Activer l'option pour les divers Scenes # Inventaire Item = true # Menu de compétances Skill = true # Equiper Equip = true # Status Stat = true # Sauvegarde Save = true #Quetes Quete = true end
class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Item zang_start do_opa if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @item_window.z = 100 @item_window.back_opacity = 0 @item_window.help_window.back_opacity = 0 end
end
class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Skill zang_start do_opa if Zang_Scenes::Skill end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Skill end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 @skill_window.z = 100 @skill_window.back_opacity = 0 @skill_window.help_window.back_opacity = 0 end
end
class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Equip zang_start do_opa if Zang_Scenes::Equip end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Equip end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 @equip_window.z = 100 @equip_window.back_opacity = 0 @equip_window.help_window.back_opacity = 0 for i in 0...EQUIP_TYPE_MAX @item_windows[i].back_opacity = 0 end end
end
class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Stat zang_start do_opa if Zang_Scenes::Stat end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Stat end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 end
end
class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Save zang_start do_opa if Zang_Scenes::Save end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Save end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @help_window.back_opacity = 0 for i in 0..3 @savefile_windows[i].back_opacity = 0 end end
end
class Scene_Quete < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Quete zang_start do_opa if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @quete.back_opacity = 0 @liste.back_opacity = 0 end
end
#============================================================================== # ** Scene_Base #------------------------------------------------------------------------------ # This is a superclass of all scenes in the game. #==============================================================================
class Scene_Base #-------------------------------------------------------------------------- # * Create Background for Menu Screen #-------------------------------------------------------------------------- def create_backsprite @back_sprite = Sprite.new @back_sprite.bitmap = Cache.picture(Zang_Scenes::Image) @back_sprite.color.set(16, 16, 16, 128) update_background @back_sprite.z = 0 end #-------------------------------------------------------------------------- # * Dispose of Background for Menu Screen #-------------------------------------------------------------------------- def dispose_backsprite @back_sprite.dispose end #-------------------------------------------------------------------------- # * Update Background for Menu Screen #-------------------------------------------------------------------------- def update_background end
end
Code:
#============================================================================== # Script de Quêtes pour RPG Maker VX Version2 par Raitosan [23/08/2010] rpg-maker-vx.bbactif.com #============================================================================== # Class Quete #============================================================================== class Quete attr_accessor:nom attr_accessor:description attr_accessor:objets attr_accessor:nb_objets attr_accessor:interrupteur attr_accessor:recompenses
def initialize # Variables d'information de la quête @nom = "" @description = [] @objets = [] @nb_objets = [] @interrupteur = 0 @recompenses = [] end # end of initialize end # end of class Quete #============================================================================== # Module M_Quete #============================================================================== module M_Quete attr_accessor:Quetes
# Vocabulaire Quete_terminee = "Terminée" Quete_bloquee = "Bloquée" Quete_indisponible = "Aucune quête n'est disponible" Indisponible = "Indisponible" Nom_Quete_indisponible = "Aucune quête disponible" Recompenses = "Récompenses:" # Mot ou phrase avant les récompenses Points_exp = "points d'Exp" # Vous avez gagner X "points d'Exp" Argent = "Po" # Nom de l'argent
# Couleurs Couleur_Base = Color.new(255,255,255) # Couleur de base Objets_Non_Possede = Color.new(170,170,170) # Le joueur ne possède pas l'objet Objets_Possede = Color.new(255,255,255) # Le joueur possède au moins un objet, mais pas le nombre requis Objets_Complets = Color.new(0,255,0) # Le joueur possède le bon nombre d'objet(ou plus)
# Nom des images contenu dans Pictures/ Img_Exp = "exp" # Icone de l'exp Img_Po = "po" # Icone de l'argent
# Variables pour les récompenses Exp = 0 Po = 1 Objet = 2 Arme = 3 Armure = 4
# Autres Position_Menu = 5 # Indique la position du curseur lorsque vous retournez dans le menu
# On créer les quetes ici Quetes = []
Quetes.push(Quete.new) # On créer la première quête Quetes[0].nom = "iTi Maison?" # Nom de la quête Quetes[0].description.push("Trouvez la maison des quêtes. Elle se") # On créer la première ligne de description Quetes[0].description.push("trouve dans le village, et possède une") # On créer la deuxième ligne de description Quetes[0].description.push("insigne avec un livre. Elle vous attend!") # On créer la deuxième ligne de description Quetes[0].objets.push(false) # Aucuns objets n'est requis pour finir la quête Quetes[0].interrupteur = 40 # Quand l'interrupteur 40 sera activer, la quête sera marquée comme Terminée Quetes[0].recompenses.push(false) # Aucunes récompenses
Quetes.push(Quete.new) # On créer la deuxième quête Quetes[1].nom = "Nom de la Quête" # Nom de la quête #Ici, j'ai créer une boucle qui ajoute les commentaires à ma place, désoler j'avais la flème de le faire^^ for x in 1...9 Quetes[1].description.push("Ligne de description " + x.to_s) # On créer la première ligne de description end Quetes[1].objets.push([Objet,25]) Quetes[1].objets.push([Objet,15]) Quetes[1].objets.push([Objet,7]) Quetes[1].objets.push([Arme,17]) Quetes[1].objets.push([Armure,2]) Quetes[1].nb_objets.push(1) Quetes[1].nb_objets.push(5) Quetes[1].nb_objets.push(3) Quetes[1].nb_objets.push(1) Quetes[1].nb_objets.push(2) Quetes[1].interrupteur = 41 Quetes[1].recompenses.push([Objet, 15]) Quetes[1].recompenses.push([Objet, 5]) Quetes[1].recompenses.push([Arme, 7]) Quetes[1].recompenses.push([Arme, 9]) Quetes[1].recompenses.push([Arme, 13]) Quetes[1].recompenses.push([Armure, 17]) Quetes[1].recompenses.push([Exp, 25])
Quetes.push(Quete.new) # On créer la deuxième quête Quetes[2].nom = "La vie en poudre" # Nom de la quête Quetes[2].description.push("Sortez à l'Est du village et tuez des Slime") # On créer la première ligne de description Quetes[2].description.push("Mutan pour obtenir des Poudres de Vie") # On créer la deuxième ligne de description Quetes[2].objets.push([Objet,27]) # L'objet avec l'ID 27 est requis pour terminer la quête Quetes[2].nb_objets.push(6) # Il faut 6 fois l'objet avec l'ID 27 pour terminer la quête Quetes[2].interrupteur = 42 # Quand l'interrupteur 42 sera activer, la quête sera marquée comme Terminée Quetes[2].recompenses.push([Objet, 1]) # 1ère récompense: 1 fois l'objet avec l'ID 1 (potion) Quetes[2].recompenses.push([Po, 350]) # 2ème récompense: 350 PO Quetes[2].recompenses.push([Exp, 50]) # 3ème récompense: 50 points d'Exp
Quetes.push(Quete.new) # On créer la deuxième quête Quetes[3].nom = "Takaya...ki?" # Nom de la quête Quetes[3].description.push("Trouvez Takayami, et lui parler. Il se") # On créer la première ligne de description Quetes[3].description.push("trouve en dehors du village, vers l'Est.") # On créer la deuxième ligne de description Quetes[3].objets.push(false) # Pas d'objets requis pour terminer la quête Quetes[3].interrupteur = 43 # Quand l'interrupteur 42 sera activer, la quête sera marquée comme Terminée Quetes[3].recompenses.push(false) # Pas de récompenses
end #============================================================================== # Class Scene_Quete #============================================================================== class Scene_Quete < Scene_Base def start create_menu_background # Fond transparent
create_pictures
@quetes = M_Quete::Quetes # On ajoutes les quêtes @marge = 10 # Marge à gauche dans la fenêtre d'info de la quête @espace = 24 # Taille des lignes, et taille des sauts de lignes @nb_lines = 0 # Nombre de ligne qu'utilise la quête
create_tab
@liste = Window_Command.new(150, @tab,1,16) # Liste des quêtes
if @quetes.size > 0 for x in 0...@quetes.size if $game_switches[@quetes[x].interrupteur] == true @tab.push(M_Quete::Quete_terminee) # Quête terminée else if $game_switches[@quetes[x-1].interrupteur] == true @tab.push(@quetes[x].nom) # Liste des noms de quêtes else if x == 0 @tab.push(@quetes[x].nom) else @tab.push(M_Quete::Quete_bloquee) # Liste des quêtes bloquées end # en of if x == 0 end # end of $game_switches[@quetes[x-1].interrupteur] == true end # end of if $game_switches[@quetes[x].interrupteur] == true end # end of for x in 0...@quetes.size else tab.push(M_Quete::Indisponible) @quetes = [ [M_Quete::Nom_Quete_indisponible, [M_Quete::Quete_indisponible], [], [], []] ] end # end of if @quetes.size > 0 end
def afficher_description description = "" for x in 0...@quetes[@liste.index].description.size # Description de la Quête description = @quetes[@liste.index].description[x] hauteur = @espace*@nb_lines @quete.contents.draw_text(@marge, hauteur, 394, @espace, description, 0) @nb_lines += 1 end # end of for x in 0...@quetes[@liste.index].description.size
if objets_requis? saut_de_ligne elsif recompense? saut_de_ligne end end
def afficher_objets if objets_requis? for x in 0...@quetes[@liste.index].objets.size # Couleurs if $game_party.item_number($data_items[@quetes[@liste.index].objets[x][1]]) <= 0 @quete.contents.font.color = M_Quete::Objets_Non_Possede # Objet non possédé elsif $game_party.item_number($data_items[@quetes[@liste.index].objets[x][1]]) < @quetes[@liste.index].nb_objets[x] @quete.contents.font.color = M_Quete::Objets_Possede # Objet possédé elsif $game_party.item_number($data_items[@quetes[@liste.index].objets[x][1]]) >= @quetes[@liste.index].nb_objets[x] @quete.contents.font.color = M_Quete::Objets_Complets # Le nombre d'objet est suffisant end # end of if $game_party.item_number($data_items[@quetes[@liste.index].objets[x]]) <= 0
case @quetes[@liste.index].objets[x][0] when M_Quete::Objet # Image de l'objet icone = $data_items[@quetes[@liste.index].objets[x][1]].icon_index hauteur = @espace*@nb_lines @quete.draw_icon(icone, @marge, hauteur)
# Nom de l'objet, nombre d'objet possédé, et requis nom = $data_items[@quetes[@liste.index].objets[x][1]].name nb_objets_posseder = $game_party.item_number($data_items[@quetes[@liste.index].objets[x][1]]) nb_objets_requis = @quetes[@liste.index].nb_objets[x] texte = nom + " ( " + (nb_objets_posseder).to_s + " / " + nb_objets_requis.to_s + " )" @quete.contents.draw_text(32+@marge,hauteur, 394,@espace, texte , 0) when M_Quete::Arme # Image de l'objet icone = $data_weapons[@quetes[@liste.index].objets[x][1]].icon_index hauteur = @espace*@nb_lines @quete.draw_icon(icone, @marge, hauteur)
# Nom de l'objet, nombre d'objet possédé, et requis nom = $data_weapons[@quetes[@liste.index].objets[x][1]].name nb_objets_posseder = $game_party.item_number($data_weapons[@quetes[@liste.index].objets[x][1]]) nb_objets_requis = @quetes[@liste.index].nb_objets[x] texte = nom + " ( " + (nb_objets_posseder).to_s + " / " + nb_objets_requis.to_s + " )" @quete.contents.draw_text(32+@marge,hauteur, 394,@espace, texte , 0) when M_Quete::Armure # Image de l'objet icone = $data_armors[@quetes[@liste.index].objets[x][1]].icon_index hauteur = @espace*@nb_lines @quete.draw_icon(icone, @marge, hauteur)
# Nom de l'objet, nombre d'objet possédé, et requis nom = $data_armors[@quetes[@liste.index].objets[x][1]].name nb_objets_posseder = $game_party.item_number($data_armors[@quetes[@liste.index].objets[x][1]]) nb_objets_requis = @quetes[@liste.index].nb_objets[x] texte = nom + " ( " + (nb_objets_posseder).to_s + " / " + nb_objets_requis.to_s + " )" @quete.contents.draw_text(32+@marge,hauteur, 394,@espace, texte , 0) end
@nb_lines+=1 end # end of for x in 0...@quetes[@liste.index].objets.size saut_de_ligne end # end of if @quetes[@liste.index].objets.size > 0 && @quetes[@liste.index].objets[0] != false end
def afficher_contenu afficher_nom afficher_description afficher_objets afficher_recompenses end
def nb_line_quest(quete) nb_line_quest = 2 # Titre+saut de ligne nb_line_quest += @quetes[quete].description.size # description if objets_requis? nb_line_quest += 1 # saut de ligne nb_line_quest += @quetes[quete].objets.size # Objets end if recompense? nb_line_quest += 2 #saut de ligne et le mot Recompenses: nb_line_quest += @quetes[quete].recompenses.size # recompenses end return nb_line_quest end
def terminee? if @tab[@liste.index] == M_Quete::Quete_terminee # Quête terminée elsif @tab[@liste.index] == M_Quete::Quete_bloquee # Quête bloquée else @nb_lines = 0 afficher_contenu end # end of if @tab[@liste.index] == M_Quete::Quete_terminee end
def update update_menu_background # Fond transparent @liste.update if @quete != nil @quete.update end
if Input.trigger?(Input::B) # Annulation Sound.play_cancel if @quete.active @quete.active = false @quete.visible = false @liste.active = true else $scene = Scene_Menu.new(M_Quete::Position_Menu) # On retroune dans le menu end elsif Input.trigger?(Input::C) # Validation
@quete.contents.font.color = M_Quete::Couleur_Base # On met la couleur du texte de base.
terminee? end # end of if Input.trigger?(Input::B) end # end of def update end # end of class Scene_Quete < Scene_Base
class Window_Informations < Window_Command def refresh create_contents end end
Bon, alors voilà les deux codes. Prêt pour l'explication ?
Alors, premièrement, regardons comment fonctionne le script de Zang', qui est celui qu'il faut modifier : On constate une première partie qui sert à activer le script pour les différentes fenêtres. C'est cette partie là :
Code:
# Activer l'option pour les divers Scenes # Inventaire Item = true # Menu de compétances Skill = true # Equiper Equip = true # Status Stat = true # Sauvegarde Save = true
Deuxièmement, dans le script de Zang' toujours, on constate ensuite une partie qui sert à régler l'opacité des fenêtres pour chaque scène. Par exemple, pour la fenêtre "Item", cela donne ça :
Code:
class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Item zang_start do_opa if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @item_window.z = 100 @item_window.back_opacity = 0 @item_window.help_window.back_opacity = 0 end
end
Voilà, on aura donc constaté dans le premier point l'usage des mots-clés "Item", "Skill", "Save", etc... et dans le deuxième point la modification des classes "Scene_File", "Scene_Item", etc... On va donc chercher les équivalents de ces mots-clés dans le script de Raitosan. En route !!
On constatera que la classe s'appelle "Quete" et la classe pour la fenêtre "Scene_Quete". On commence donc par rajouter deux parties de code au script de Zang', qui sont l'équivalent de ce qui a été fait précédemment, mais pour la classe "Quete" :
Code:
Save = true #Quetes Quete = true end
Code:
class Scene_Quete < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Quete zang_start do_opa if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @help_window.back_opacity = 0 for i in 0..3 @savefile_windows[i].back_opacity = 0 end end
end
Voilà, le deuxième bout de code est un copier-coller de "Scene_File", dans lequel on remplace tous les "File" et les "Save" par des "Quete"
Cependant, cela ne marche pas encore, et cela en raison de ceci :
Code:
#-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @help_window.back_opacity = 0 for i in 0..3 @savefile_windows[i].back_opacity = 0 end end
En effet, cette méthode utilise les fenêtres existantes car définies dans "Scene_File". Cependant, il n'y a aucune raison que les fenêtres définies dans le script de Raitosan soit les mêmes, il faut donc explorer son script pour trouver les fenêtres qui seront créées.
Tout d'abord, on remarquera cette ligne là dans le script de Zang' :
Code:
@menuback_sprite.opacity = 0
Cette ligne apparaît dans chacune des méthodes définies dans chaque classe, que ce soit "Scene_File", "Scene_Item", etc... On va donc la laisser là, par précaution.
Ensuite, fouillons le script de Raitosan, jusqu'à voir ceci :
Code:
class Scene_Quete < Scene_Base def start create_menu_background # Fond transparent
create_pictures
@quetes = M_Quete::Quetes # On ajoutes les quêtes @marge = 10 # Marge à gauche dans la fenêtre d'info de la quête @espace = 24 # Taille des lignes, et taille des sauts de lignes @nb_lines = 0 # Nombre de ligne qu'utilise la quête
create_tab
@liste = Window_Command.new(150, @tab,1,16) # Liste des quêtes
#@quete = Window_Base.new(150,0,394, 416) # Informations de la Quête end # end of def start
def terminate dispose_menu_background @liste.dispose @quete.dispose end # end of def terminate
Ici, on voit la définition des deux fenêtres de la classe, qui sont donc "@quete" et "@liste". On va donc rajouter les réglages d'opacité dans le script de Zang' pour ces deux fenêtres :
Code:
@quete.back_opacity = 0 @liste.back_opacity = 0
Ce qui, en fin de compte, donne cela comme méthode dans le script de Zang' :
Code:
class Scene_Quete < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Quete zang_start do_opa if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @quete.back_opacity = 0 @liste.back_opacity = 0 end
end
Voilà, en espérant que mes explications sont assez claires !! Et fais attention au double post !!
Sur ce, bonne continuation !!
zouzaka
Croisé Lv.14
Age : 26 Inscrit le : 22/05/2011 Messages : 1141
Sujet: Re: Fusion menu quête avec fond en image !!! Jeu 6 Oct 2011 - 19:51
1-Desolé pour le double poste mais j'avais besoin d'expli. ^^' 2-Le tuto est trée Claire merci ^^ 3-Voila ma version (le nom des window est juste et la "Scene_??????" aussi est correcte alor pk sa ne merche pas ???)
Code:
#============================================================================== # ** Scenes modifiées #------------------------------------------------------------------------------ # Cela va permettre de mettre des image en fond des scenes qui sont dans le menu. #============================================================================== module Zang_Scenes # Nom de l'image dans le dossier pictures Image = "DG"
# Activer l'option pour les divers Scenes # Inventaire Item = true # Menu de compétances Skill = true # Equiper Equip = true # Status Stat = true # Sauvegarde Save = true #Quetes Quete = true #Credit Zouza = true end
class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Item zang_start do_opa if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Item end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @item_window.z = 100 @item_window.back_opacity = 0 @item_window.help_window.back_opacity = 0 end
end
class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Skill zang_start do_opa if Zang_Scenes::Skill end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Skill end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 @skill_window.z = 100 @skill_window.back_opacity = 0 @skill_window.help_window.back_opacity = 0 end
end
class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Equip zang_start do_opa if Zang_Scenes::Equip end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Equip end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 @equip_window.z = 100 @equip_window.back_opacity = 0 @equip_window.help_window.back_opacity = 0 for i in 0...EQUIP_TYPE_MAX @item_windows[i].back_opacity = 0 end end
end
class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Stat zang_start do_opa if Zang_Scenes::Stat end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Stat end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @status_window.back_opacity = 0 end
end
class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Save zang_start do_opa if Zang_Scenes::Save end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Save end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @help_window.back_opacity = 0 for i in 0..3 @savefile_windows[i].back_opacity = 0 end end
end
class Scene_Quete < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Quete zang_start do_opa if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Quete end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @quete.back_opacity = 0 @liste.back_opacity = 0 end
class Scene_Zouza < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias zang_start start def start create_backsprite if Zang_Scenes::Zouza zang_start do_opa if Zang_Scenes::Zouza end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias zang_term terminate def terminate zang_term dispose_backsprite if Zang_Scenes::Zouza end #-------------------------------------------------------------------------- # * Réglage d'opacité #-------------------------------------------------------------------------- def do_opa @menuback_sprite.opacity = 0 @your_window1.back_opacity = 0 @your_window2.back_opacity = 0 @your_window3.back_opacity = 0 end
end
#============================================================================== # ** Scene_Base #------------------------------------------------------------------------------ # This is a superclass of all scenes in the game. #==============================================================================
class Scene_Base #-------------------------------------------------------------------------- # * Create Background for Menu Screen #-------------------------------------------------------------------------- def create_backsprite @back_sprite = Sprite.new @back_sprite.bitmap = Cache.picture(Zang_Scenes::Image) @back_sprite.color.set(16, 16, 16, 128) update_background @back_sprite.z = 0 end #-------------------------------------------------------------------------- # * Dispose of Background for Menu Screen #-------------------------------------------------------------------------- def dispose_backsprite @back_sprite.dispose end #-------------------------------------------------------------------------- # * Update Background for Menu Screen #-------------------------------------------------------------------------- def update_background end
end
4-voila mon scripte (Ses un credit créer avec window maker)
Code:
class Window_TestZouzaone < Window_Base def initialize() super(336, 0, 208, 416) refresh end