RPG Maker Détente
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
RechercherDernières imagesPortailAccueilAccueilForumPraline au mielS'enregistrerConnexion

Le deal à ne pas rater :
Cartes Pokémon : la prochaine extension Pokémon sera EV6.5 Fable ...
Voir le deal

 

 [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face

Aller en bas 
AuteurMessage
Maximax

Maximax


Messages : 1132


[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeLun 26 Nov - 12:23

Hello ! Quoique je n'y connaisse vraiment rien, j'essaie de modifier, tant soit peu, le menu d'un projet et en particulier je veux afficher une image dans la commande "Statut".
J'utilise ce protocole, dans le Script Window_Status, ce qui fonctionne très bien :
Spoiler:
1) Premier problème, je n'arrive pas à créer une condition qui changerait le fichier image en fonction du perso. J'essaie de vérifier l'Id de l'Actor, mais je n'y arrive pas...
Spoiler:

Si je laisse le ==, ça n'affiche rien.
Si je mets =, l'image est toujours la 1re, pour tous les persos...
Si je mets else pour le dernier (et non elsif), l'image est toujours la dernière pour tous les persos...


2) Quand l'image s'affiche, le résultat est super, mais quand on quitte le menu, l'image reste affichée genre une demi-seconde de plus que le menu. Comment la faire disparaître à la clôture, plutôt (me semble-t-il) qu'au redémarrage du menu suivant (qui est aussi le précédant d'ailleurs science) ?

Voilà ! Amis programmeurs, à vous de jouer !
______________________________________________________________________________________
Voilà la solution

Pour afficher le portrait :

  • Dans Window_base :
    Code:
    #--------------------------------------------------------------------------
    # * Draw Portrait
    #--------------------------------------------------------------------------
    def draw_actor_portrait (actor)
    @portrait = Sprite.new
    @portrait.x = *
    @portrait.y = *
    @portrait.z = *
    @portrait.blend_type =*
    @portrait.opacity = *
    @portrait.bitmap = Cache.picture(actor.name)
    end
  • Dans Window_status :
    Code:
    draw_actor_portrait (@actor)

Pour effacer le portrait :

  • Dans Window_status
    Code:
    #--------------------------------------------------------------------------
      # * Free
      #--------------------------------------------------------------------------
      def dispose
        @portrait.dispose if @portrait
        super
      end
  • Dans Window_selectable
    à la section def process_pageup et def process_pagedown, rajouter :
    Code:
    @portrait.dispose if @portrait && $game_switches[*]
    où * est un interrupteur à activer en jeu quand il y a plus d'un membre dans l'équipe.


Dernière édition par Maximax le Mer 28 Nov - 16:45, édité 8 fois
Revenir en haut Aller en bas
Invité
Invité




[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeLun 26 Nov - 14:38

il te faut bien 2 = (==),
Si j'étais toi j'opterais pour :
Code:

  @portrait = Sprite.new
  @portrait.x = (Graphics.width - 136)
  @portrait.y = 6
  @portrait.z = 255
  bmp_portrait = case @actor_id
      when 11; "Ginette"
      when 12; "Jeannette"
      etc...
      else; "Portrait par défaut"
 end
 @portrait.bitmap = Cache.picture(bmp_portrait)
Et dans ta classe qui gère l'affichage du portrait tu dois ajouter
@portrait.dispose

Bonne chance.
Revenir en haut Aller en bas
Maximax

Maximax


Messages : 1132


[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeLun 26 Nov - 15:14

Je tente quand j'arrive à la maison !

C'est-à-dire à pas d'heure, vu qu'il y a C.A. ce soir ! Pleure /[malife]

C'est quoi ce "dispose ?" (histoire que j'apprenne des trucs au passage ^^) Et la classe qui gère l'affichage, c'est un Game_qqch ? Genre, Game_window ou Game_picture ?
Revenir en haut Aller en bas
Invité
Invité




[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeLun 26 Nov - 16:06

Ton portrait est ajouté dans quelle classe? Window_Statut ou Scene_Statut?
dispose c'est une méthode à Sprite qui supprime l'image. (Enfin l'efface)
Revenir en haut Aller en bas
Maximax

Maximax


Messages : 1132


[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeLun 26 Nov - 19:27

Alors, ça ne marche pas ! Le problème est le même : il choisit toujours le portrait par défaut, comme s'il n'arrivait pas à vérifier la valeur de @actor_id.

Ensuite, pour la classe, je n'en sais rien : je ne sais pas ce qu'est une classe Gros sourire Mais j'ai ajouté ces lignes dans Window_Status, qui commence par
Code:
class Window_Status < Window_Selectable
Alors peut-être que c'est une classe ! réfléchit
Revenir en haut Aller en bas
Invité
Invité




[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeLun 26 Nov - 20:02

hmmm, c'est ennuyeux d'ajouter dans le script original... il faudra ajouter un script plutot... tu es parfois sur MSN?
Revenir en haut Aller en bas
Maximax

Maximax


Messages : 1132


[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeMar 27 Nov - 12:01

Euh non, pas MSN. :F
Revenir en haut Aller en bas
Invité
Invité




[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeMar 27 Nov - 15:25

concrètement, je ne comprend pas bien ton problème.
Tu veux changer le faceset de Window_Statut, mais le faceset ne change pas ?
Revenir en haut Aller en bas
Maximax

Maximax


Messages : 1132


[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeMar 27 Nov - 20:55

Edit : t1 ! J'y crois pas ! J'ai trouvé comment faire !!! oO
Je suis tellement fier de moi que je vais l'expliquer, au cas où ça servirait à quelqu'un un jour ! excité

Dans le script Window_base, j'ai rajouté une méthode, calquée sur celles qui s'y trouvaient déjà :
Spoiler:
Et dans le Window_status, je ne fais que l'exécuter en fonction de la variable @actor (si j'ai bien compris ce que j'ai fait !)
Spoiler:
Bon, du coup, je n'ai plus qu'à résoudre l'inconvénient du temps de latence entre le moment où on quitte le menu et celui où l'image s'efface... Avis aux amateurs ! Sourit
Revenir en haut Aller en bas
Invité
Invité




[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeMer 28 Nov - 10:18

Rajoute dans window statut:
Code:

  #--------------------------------------------------------------------------
  # * Free
  #--------------------------------------------------------------------------
  def dispose
    @portrait.dispose if @portrait
    super
  end
Revenir en haut Aller en bas
Maximax

Maximax


Messages : 1132


[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeMer 28 Nov - 13:59

Merci ! Le timing est nickel !

En revanche, j'ai eu un autre problème : quand j'utilisais PageUp ou PageDown pour changer de perso puis que je quittais le menu, le portrait du perso précédent restait affiché une fraction de seconde.

Solution : j'ai copié la ligne
Code:
 @portrait.dispose if @portrait
dans le script Window_Selectable dans la définition des processus def process_pageup et def process_pagedown.

Le rendu est maintenant parfait !

Edit : Il reste un glitch : si on utilise PageUp ou PageDown avec un seul perso dans l'équipe, le portrait disparaît et n'est pas réactivé ! hum
Donc mon bricolage n'est pas aprfait ! Si quelqu'un trouve mieux, je suis preneur.

Edit 2 : Ayé ! J'ai rajouté une condition pour que l'image ne s'efface avec PageUp / PageDown que si un interrupteur est activé :
Code:
@portrait.dispose if @portrait && $game_switches[1]
Et bien sûr l'interrupteur est switché en ON quand on récupère le 2e chara ! science

Sans doute pas très élégant, mais ça marche ! Konyata
Revenir en haut Aller en bas
Invité
Invité




[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitimeMer 28 Nov - 16:11

Bien joué
Revenir en haut Aller en bas
Contenu sponsorisé





[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Empty
MessageSujet: Re: [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face   [Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face Icon_minitime

Revenir en haut Aller en bas
 
[Résolu] [VX ACE] [CMS] Afficher un portrait différent du Face
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» script sac a dos et max d'objets........'RESOLU"
» [Résolu] Problème de novice
» Résolu : auto-tile [VX-ace]
» interrupteur et objet (résolu)
» musique de fond rpg maker vx ace

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker Détente :: La Guinguette participative :: Entraide-
Sauter vers: