- MachineFrMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 22/08/2015
Aide pour script
Mar 25 Aoû 2015 - 1:27
Bonjour a tous, j'aimerai bien que quelqu'un m'aide j'ai actuellement fait ce script (grace au tuto qui est disponible sur ce forum) :
class Window_Panneau < Window_Base #Créer la class Window_Tuto°.
def initialize #Créer la fonction initialize.
fenetre = 0
if fenetre == 0
super(197, 158, 150, 100)
end
create_text
end #Ferme la fonction.
def create_text
self.contents.clear
contents.draw_text( 40, 25, 200, 25, "VILLE")
end #Ferme la fonction.
end #Ferme la class.
class Scene_Panneau < Scene_Map #Créer la class Scene_Tuto°.
def start #Ne pas renommer la fonction
super
create_window_Panneau
end #Ferme la fonction.
def update #Ne pas renommer la fonction
super #Lance le code de l'héritage
if Input.trigger?(:B)
fenetre = 1
return_scene
end #Ferme la fonction.
end #Ferme la fonction.
def create_window_Panneau #Créer la fonction create_window_tuto°
@window_Panneau = Window_Panneau.new
end #Ferme la fonction.
end #Ferme la class.
----------------------------------------------
Le probleme, c'est qu'une fois afficher, le fenetre ne se ferme plus, j'aimerai bien que quelqu'un qui si connaisse me regle le probleme et m'explique comme il a fait, c'est toujours bon d’apprendre
merci beaucoup a celui qui m'aidera
class Window_Panneau < Window_Base #Créer la class Window_Tuto°.
def initialize #Créer la fonction initialize.
fenetre = 0
if fenetre == 0
super(197, 158, 150, 100)
end
create_text
end #Ferme la fonction.
def create_text
self.contents.clear
contents.draw_text( 40, 25, 200, 25, "VILLE")
end #Ferme la fonction.
end #Ferme la class.
class Scene_Panneau < Scene_Map #Créer la class Scene_Tuto°.
def start #Ne pas renommer la fonction
super
create_window_Panneau
end #Ferme la fonction.
def update #Ne pas renommer la fonction
super #Lance le code de l'héritage
if Input.trigger?(:B)
fenetre = 1
return_scene
end #Ferme la fonction.
end #Ferme la fonction.
def create_window_Panneau #Créer la fonction create_window_tuto°
@window_Panneau = Window_Panneau.new
end #Ferme la fonction.
end #Ferme la class.
----------------------------------------------
Le probleme, c'est qu'une fois afficher, le fenetre ne se ferme plus, j'aimerai bien que quelqu'un qui si connaisse me regle le probleme et m'explique comme il a fait, c'est toujours bon d’apprendre
merci beaucoup a celui qui m'aidera
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: Aide pour script
Mar 25 Aoû 2015 - 1:55
Mauvaise section je déplace.
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Aide pour script
Mar 1 Sep 2015 - 15:09
Salut
voila une modif pour ton probleme :
j'ai tout détailler mais pour ce qui est de l’héritage de ta scene par Scene_Map cela ne convient pas ^^. si tu souhaite véritablement voir les element de la map continuer a bouger dit le moi je te ferais un autre script avec une explication
voila une modif pour ton probleme :
- Code:
class Window_Panneau < Window_Base #Créer la class Window_Tuto°.
def initialize #Créer la fonction initialize.
super(197, 158, 150, 100) #Lance le code de l'héritage
create_text #Lance la creation du texte
end #Ferme la fonction.
def create_text #Créer la fonction create_text.
self.contents.clear #Efface le contenue.
contents.draw_text( 40, 25, 200, 25, "VILLE") #Ecris dans le contenue.
end #Ferme la fonction.
end #Ferme la class.
class Scene_Panneau < Scene_MenuBase #Créer la class Scene_Tuto°.
#La scene hérite de Scene_MenuBase afin d'avoir la creation de l'image de la map en fond
#Start est automatiquement lancer lors de l'appel de la scene
def start #Ne pas renommer la fonction VOIR Scene_Base POUR + D'INFO
super #Lance le code de l'héritage
create_window_Panneau #Lance la creation de la window
end #Ferme la fonction.
#Terminate est automatiquement lancée lors du return_scene
def terminate #Ne pas renommer la fonction VOIR Scene_Base POUR + D'INFO
super #Lance le code de l'héritage
@window_Panneau.dispose #Supprime la window (dispose est de base une def de @window_Panneau)
end #Ferme la fonction.
#Update est automatiquement lancée toute les frame (soit 60 fois par seconde)
def update #Ne pas renommer la fonction VOIR Scene_Base POUR + D'INFO
super #Lance le code de l'héritage
if Input.trigger?(:B) #Detecte l'appuye d'une touche lier a B (de base echap ou X)
return_scene # Fait un retour de scene (donc finie celle-ci et retourne a la precedente)
end #Ferme la fonction.
end #Ferme la fonction.
def create_window_Panneau #Créer la fonction create_window_tuto°
@window_Panneau = Window_Panneau.new # Creer la window
end #Ferme la fonction.
end #Ferme la class.
j'ai tout détailler mais pour ce qui est de l’héritage de ta scene par Scene_Map cela ne convient pas ^^. si tu souhaite véritablement voir les element de la map continuer a bouger dit le moi je te ferais un autre script avec une explication
- MachineFrMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 22/08/2015
Re: Aide pour script
Mar 1 Sep 2015 - 21:15
Merci Beaucoup, enfaite le but de se script et juste d'afficher le nom de la ville quand on apuuie sur un bouton pres d'un panneau , donc j'aurai jsute besoin que lorsque qu'on appuie sur un bouton, le texte s'affiche et qu'apres il disparait, soit ne bougeant, soit ne re-appuyant sur le bouton
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Aide pour script
Mar 1 Sep 2015 - 21:41
oki tu veut que je te code ça ? ou tu souhaite te débrouiller seul avec un peu d'aide ?
- MachineFrMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 22/08/2015
Re: Aide pour script
Mer 2 Sep 2015 - 20:31
j'aimerai que tu me le fasse, car je doti rendre sa assez vite ^^ je suis pas tous seul sur le projet, mais pourrai-tu faire comme l'autre code, mettre des commentaire partout pour que je le comprennent . en tout cas merci beaucoup pour l'aide sans toi j'aurai pas reussie
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Aide pour script
Ven 4 Sep 2015 - 16:54
Voila la modif
J'ai oublier de préciser mais désormais pour lancer la window il faut faire cette appel de script :
SceneManager.scene.open_map_name
Si tu as le moindre soucis de compréhension ou autre dit le moi
J'ai oublier de préciser mais désormais pour lancer la window il faut faire cette appel de script :
SceneManager.scene.open_map_name
Si tu as le moindre soucis de compréhension ou autre dit le moi
- Code:
class Scene_Map < Scene_Base #On modifie la class Scene_Map
alias create_all_windows_map_name create_all_windows #On fait une copie de la
#def create_all_windows sous le nouveaux nom create_all_windows_map_name
def create_all_windows #On remplace l'ancienne def create_all_windows
create_all_windows_map_name # On rappel la copie pour conserver les donnée de Scene_Map
create_map_name # On appel la nouvelle fonction de creation de la fenêtre
end # fin de la def create_all_windows
def create_map_name # Nouvelle def create_map_name
@nom_map = Window_Panneau.new # On assigne la window dans une variables
@nom_map.openness = 0 # On définit sont ouverture a 0 (elle est donc fermer cf. AIDE)
end # Fin def create_map_name
def open_map_name # Nouvelle def open_map_name
if @nom_map.close? #On test que la window est bien fermer (pour eviter que
#l'appuye de la touche entrer relance l'event et donc sa réouverture lors
#du test dans la def update)
@nom_map.refresh # Rafraichie le contenue de la window (en cas de changement de map)
@nom_map.open #On ouvre la window
end
end # Fin def open_map_name
alias update_nom_map update #On fait une copie de la
#def update sous le nouveaux nom update_nom_map
def update # On remplace l'ancienne def update
update_nom_map # On appel la copie pour eviter les problême (cette structure
#alias puis reassignation est equivalente a ajouter les ligne ci-dessous dans
#la def update du script Scene_Map)
if @nom_map.open? #On test que la window est bien ouverte
if Input.trigger?(:B) || Input.trigger?(:C) || Input.dir4 != 0 #On test l'appuye de la
#touche X ou ENTER ou des touches directionnelles
@nom_map.close #On ferme la window
end #fin du if
end# fin du if
end # Fin def update
#Pour empecher l'ouverture du menu par l'appuye de la touche X pour quitter la
#fenetre on modifie ce qui suit
alias update_call_menu_map_name update_call_menu#On fait une copie de la
#def update_call_menu sous le nouveaux nom update_call_menu_map_name
def update_call_menu # On remplace l'ancienne def update_call_menu
return if @nom_map.open? # On fait une coupure si la window est encore ouverte
update_call_menu_map_name # On appel la copie de la def sinon pour executer l'appel de manière normal
end # Fin def update_call_menu
end # Fin def Scene_Map
class Window_Panneau < Window_Base #Créer la class Window_Tuto°.
def initialize #Créer la fonction initialize.
super(Graphics.width/2-75, Graphics.height/2-24, 150, 48) #Lance le code de l'héritage
refresh #Lance le refresh
end #Ferme la fonction.
def refresh # Creer la fonction refresh
create_text #Lance la creation du texte
end #Ferme la fonction.
def create_text #Créer la fonction create_text.
self.contents.clear #Efface le contenue.
map_name = $game_map.display_name #Récuperation du nom de la map
if !map_name.empty? #Test que le nom ne soit pas vide
self.width = text_size(map_name).width+28 # Ajuste la largeur de la fenêtre automatiquement au texte
#(+28 car il ya 24 pixel de bord a prendre en compte en plus et 4 pixel de plus encore pour contrer
#un bug d'affichage qui intervient parfois)
self.x = Graphics.width/2-width/2 #Ajuste la position pour centrer la window dans l'écran
create_contents # Recreer l'image de contenue (car la taille de la fenêtre a changer)
#▼# => permet de centrer le texte (0 texte a droite, 1 texte au centre, 2 texte a gauche)
contents.draw_text( 0, 0, width-24, 24, map_name,1) #Ecris dans le contenue le nom de la map.
else # Si le nom est vide alors :
self.width = text_size("Inconnue").width+28 # Ajuste la largeur de la fenêtre automatiquement au texte (idem ci-dessus pour le 28)
self.x = Graphics.width/2-width/2 #Ajuste la position pour centrer la window dans l'écran
create_contents # Recreer l'image de contenue (car la taille de la fenêtre a changer)
contents.draw_text( 0, 0, width-24, 24, "Inconnue",1) #Ecris dans le contenue le mot Inconnue.
end # Fin du if
end #Ferme la fonction.
end #Ferme la class.
- MachineFrMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 22/08/2015
Re: Aide pour script
Ven 4 Sep 2015 - 21:27
merci bro, ça marche nickel
au faite, j'ai essayer ton jeu, j'ai pas reussis a sortir de la grotte x) je crois que je suis pas douée
au faite, j'ai essayer ton jeu, j'ai pas reussis a sortir de la grotte x) je crois que je suis pas douée
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|