| [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] | |
|
|
Auteur | Message |
---|
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 22:43 | |
| ben on prend une variable
quand on appui sur shift on ajoute 1 a chaque fois
quand c'est egale a 1 on affiche la fenetre quand c'est egale a 2 on la cache quand c'est egale a 3 on la rend egale a 1 |
|
| |
Hellper Chevalier Dragon (niveau 5)
Messages postés : 1190 Date d'inscription : 04/03/2013 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 22:50 | |
| Sauf que tu vois ça au niveau des variables fournies en programmation événementiel ? |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:00 | |
| J'ai trouvé =) Laisse moi quelque minute et j'te file ca :p - Code:
-
VARAIBLE_EVENT = 22 class Window_Item def update_help if Input.trigger?(Input::A) $game_variables[VARAIBLE_EVENT] += 1 if $game_variables[VARAIBLE_EVENT] > 1 $game_variables[VARAIBLE_EVENT] = 0 end end if $game_variables[VARAIBLE_EVENT] == 1 @help_window.set_text(self.item == nil ? "" : self.item.description) @help_window.opacity = 160 else @help_window.set_text("") @help_window.opacity = 0 end end end class Window_Skill def update_help if Input.trigger?(Input::A) $game_variables[VARAIBLE_EVENT] += 1 if $game_variables[VARAIBLE_EVENT] > 1 $game_variables[VARAIBLE_EVENT] = 0 end end if $game_variables[VARAIBLE_EVENT] == 1 @help_window.set_text(self.skill== nil ? "" : self.skill.description) @help_window.opacity = 160 else @help_window.set_text("") @help_window.opacity = 0 end end end
C'est toi qui m'a donné l'idée en parlant des variable event ^^ Tu as juste à changer la variable en premiere ligne. J'ai mis la 22, mais mets celle que tu veux
Dernière édition par Jin le Jeu 7 Mar 2013 - 23:27, édité 1 fois |
|
| |
Hellper Chevalier Dragon (niveau 5)
Messages postés : 1190 Date d'inscription : 04/03/2013 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:17 | |
| Dans ce cas là, ça serait pas plus simple de mettre une boobléene ? |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:20 | |
| Si, mais pour une booléen, il faudrait déclarer une variable avant et lui donner une valeur. Et comme le script à l'air de tourner en boucle, la variable que j'avais faite reprenait tout le temps la valeur que je lui avait mise.
Ouai j'explique mal ^^ Mais toujours est il que j'ai essayé et j'ai échoué ( pas surprenant me direz vous ^^ )
Au moins ca marche comme ca ^^
ou alors avec un switch ? =) Du coup ca devient booléen ^^ |
|
| |
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:24 | |
| j'ai une erreur a la ligne 28 |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:28 | |
| corrigé :p j'ai édité le post ^^ |
|
| |
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:31 | |
| Je vien de voir l'erreur aussi c'était
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
en fait il y' avait item^^
Bref maintenant ça marche nickel je te remercie pour ton aide Jin, et Hellper aussi.
Maintenant je vais bidouiller un peu histoire de virer le Windowskins et de le remplacer par un .png. |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:36 | |
| - Code:
-
VARAIBLE_EVENT = 22 class Window_Item def update_help if Input.trigger?(Input::A) $game_variables[VARAIBLE_EVENT] += 1 if $game_variables[VARAIBLE_EVENT] > 1 $game_variables[VARAIBLE_EVENT] = 0 end end if $game_variables[VARAIBLE_EVENT] == 1 @help_window.set_text(self.item == nil ? "" : self.item.description) @help_window.opacity = 0 else @help_window.set_text("") @help_window.opacity = 0 end end end class Window_Skill def update_help if Input.trigger?(Input::A) $game_variables[VARAIBLE_EVENT] += 1 if $game_variables[VARAIBLE_EVENT] > 1 $game_variables[VARAIBLE_EVENT] = 0 end end if $game_variables[VARAIBLE_EVENT] == 1 @help_window.set_text(self.skill== nil ? "" : self.skill.description) @help_window.opacity = 160 else @help_window.set_text("") @help_window.opacity = 0 end end end
Hop plus de windowskin ^^ Juste le text |
|
| |
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:38 | |
| merki =)
bon je vais allez y mettre un png maintenant, je mettrait un petit screen quand j'aurais finit |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Jeu 7 Mar 2013 - 23:40 | |
| Ok je mets le sujet en résolu =) |
|
| |
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Ven 8 Mar 2013 - 0:52 | |
| Grrr j'ai essayer de mettre une image en utilisant les méthode habituel comme
@mnlay = sprite.new @mnlay.bitmap = RPG::Cache.picture("nom de l'image")
Mais j'arrive juste à l'afficher mais pas à la virer, et quand elle apparaît ça me fait lagguer un truc de fou.
ça doit venir du fait que c'est une boucle et que ça pose l'image en continu |
|
| |
Joke Mage (niveau 5)
Messages postés : 367 Date d'inscription : 10/06/2012 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Ven 8 Mar 2013 - 0:53 | |
| une astuce : Pour : - Code:
-
$game_variables[VARAIBLE_EVENT] += 1 if $game_variables[VARAIBLE_EVENT] > 1 $game_variables[VARAIBLE_EVENT] = 0 end tu peux directement faire : - Code:
-
$game_variables[VARAIBLE_EVENT] += 1 $game_variables[VARAIBLE_EVENT] %= 2 Idem en programmation événementielle, quand tu fais "Variable" modulo "Valeur max +1", quand la variable atteint la valeur max, elle devient égale à 0, et avant la valeur max, elle ne change pas par le modulo. Je rappelle que le modulo est le reste d'une division euclidienne (division entière), ça veut dire que pour A/B = C, en division entière, on a : A = B*C + Reste Reste = A modulo B Donc si tu prends par exemple un menu avec 7 onglets, d'ID allant de 0 à 6, le maximum c'est 6. Si l'ID de l'onglet actuel est 5, 5 modulo 7 = 5, car 5/7 = 0 en division entière, on a donc "5 = 7*0 + Reste. => Reste = 5 = 5 modulo 7 Mais si l'onglet actuel est le 6, et qu'on appuie sur la touche "bas", l'index devient 7, or en faisant, 7 modulo 7 ensuite, ça donne 0, car 7 = 7*1 + Reste => Reste = 0 = 7 modulo 7. Ça fonctionne aussi dans l'autre sens : "si valeur = -1; valeur = valeur max", se résume encore à "valeur %= valeur max + 1" même sans utiliser le modulo, et revenir à une condition comme tu as fait, comme il n'y a qu'une seule ligne à l'intérieur de ta condition, c'est plus propre de l'écrire comme ça : Remplacer : - Code:
-
if $game_variables[VARAIBLE_EVENT] > 1 $game_variables[VARAIBLE_EVENT] = 0 end Par : - Code:
-
$game_variables[VARAIBLE_EVENT] = 0 if $game_variables[VARAIBLE_EVENT] > 1
Pour continuer sur l'exemple du menu (à titre d'info, puisque c'est pas le sujet), ça fonctionne aussi dans l'autre sens, mais je ne comprends pas pourquoi par contre (car on ne fait pas une division euclidienne avec des nombres négatifs) donc si on veut "si index = -1; index = valeur max", on peut aussi faire "index %= valeur max" ce qui revient, pour un menu où les onglets vont de 0 à valeur max, avec index = onglet actif : si "touche bas" pressée - - index += 1 fin de condition si "touche haut" pressée - - index -= 1 fin de condition index %= valeur max + 1 Avec juste le "index %= valeur max + 1" on fait à la fois "si index = -1; index = valeur max" ET "si index = valeur max + 1 ; index = 0" |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Ven 8 Mar 2013 - 3:55 | |
| Effectivement c'est mieux ^^ J'utilise très peu les modulos, et c'est pas à mon avantage.
J'vais mettre un post-it xD
et pour l'image, moi je fais :
@image = Bitmap.new("Graphics/Pictures/image.png") @background = Sprite.new @background.bitmap = @image
Ensuite pour qu'elle s'en aille ... hum ... essaie un : @background.bitmap = nil dans ton cas :@mnlay.bitmap = nil
à l'endroit ou tu veux qu'elle s'enleve. |
|
| |
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Ven 8 Mar 2013 - 13:15 | |
| ça revient au même, le @mnlay.bitmap = nil me met une erreur. Et dans le cas ou l'image apparaît, quand je ré appuie sur Shift elle ne s’enlève pas. Et quand elle appairait le jeu ce met à lagguer ^^ en fait faudrait faire en sorte de remplacer le windowskin uniquement de la fenêtre d'aide dans un script à part je pense. C'est bon j'ai trouver, en fait j'ai rajouter dans le script de base qui est Window_Help def initialize super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.windowskin = RPG::Cache.windowskin('AideF.png') <<<<< ICI<<<< end EDIT : J'ai essayer de faire le plus ressemblant, mais comme il s'agit d'un windowskins je ne peut pas faire grand chose au final, puisque normalement il y'a une image de mog^^ |
|
| |
Joke Mage (niveau 5)
Messages postés : 367 Date d'inscription : 10/06/2012 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Ven 8 Mar 2013 - 20:45 | |
| - Shyno19 a écrit:
- ça revient au même, le @mnlay.bitmap = nil me met une erreur.
Je dis peut-être une bêtise, faute de ne pas vérifier, mais il me semble qu'on peut faire : - Code:
-
@mnlay.erase EDIT : voir même - Code:
-
@mnlay.dispose mais je crois que la différence entre erase et dispose c'est que .erase garde l'image en cache, alors que .dispose la retire du cache, donc il est préférable d'utiliser .erase je pense EDIT : C'est possible que erase ne fonctionne que sur les sprites et non les bitmap seuls, alors si ça ne fonctionne pas sur un bitmap il faut utiliser dispose |
|
| |
Shyno19 Ninja (niveau 5)
Messages postés : 220 Date d'inscription : 21/09/2011 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Ven 8 Mar 2013 - 21:37 | |
| le problème est que le dispose me met une erreur aussi.
Peut être que je m'y suis mal pris.
Le script entier donne quoi en y ajoutant l'image ? |
|
| |
Joke Mage (niveau 5)
Messages postés : 367 Date d'inscription : 10/06/2012 Jauge LPC :
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] Sam 9 Mar 2013 - 1:33 | |
| Ben le .erase ne fonctionne pas, non plus ? C'est ce qu'utilise XP pour effacer les pictures de l'écran. |
|
| |
Contenu sponsorisé
| Sujet: Re: [XP]Faire apparaître la fenêtre d'aide en combat [RESOLU] | |
| |
|
| |
|