FAQRechercherPortailAccueilAccueilForumPraline au mielS'enregistrerConnexionMembres


Partagez
 

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

Aller en bas 
AuteurMessage
Maximax

Maximax

Messages : 1131


[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.


Kaila: Bon, c'est décidé, à partir du mois prochain, je me remets au making !
Kitu : POURQUOI Y'A PAS DE X?
Ephy : Bah on est cons, on est méchants et on s'en prend à plus faible que nous. Je vois pas où est le mal...
Tampaxor : Là, tu attends quand même un peu qu'on te tire.
Akzaroine: je n'ai jamais lu de livres xD


Dernière édition par Maximax le Mer 28 Nov - 16:45, édité 8 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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 : 1131


[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 ?


Kaila: Bon, c'est décidé, à partir du mois prochain, je me remets au making !
Kitu : POURQUOI Y'A PAS DE X?
Ephy : Bah on est cons, on est méchants et on s'en prend à plus faible que nous. Je vois pas où est le mal...
Tampaxor : Là, tu attends quand même un peu qu'on te tire.
Akzaroine: je n'ai jamais lu de livres xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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 : 1131


[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


Kaila: Bon, c'est décidé, à partir du mois prochain, je me remets au making !
Kitu : POURQUOI Y'A PAS DE X?
Ephy : Bah on est cons, on est méchants et on s'en prend à plus faible que nous. Je vois pas où est le mal...
Tampaxor : Là, tu attends quand même un peu qu'on te tire.
Akzaroine: je n'ai jamais lu de livres xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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 : 1131


[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


Kaila: Bon, c'est décidé, à partir du mois prochain, je me remets au making !
Kitu : POURQUOI Y'A PAS DE X?
Ephy : Bah on est cons, on est méchants et on s'en prend à plus faible que nous. Je vois pas où est le mal...
Tampaxor : Là, tu attends quand même un peu qu'on te tire.
Akzaroine: je n'ai jamais lu de livres xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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 : 1131


[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


Kaila: Bon, c'est décidé, à partir du mois prochain, je me remets au making !
Kitu : POURQUOI Y'A PAS DE X?
Ephy : Bah on est cons, on est méchants et on s'en prend à plus faible que nous. Je vois pas où est le mal...
Tampaxor : Là, tu attends quand même un peu qu'on te tire.
Akzaroine: je n'ai jamais lu de livres xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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 : 1131


[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


Kaila: Bon, c'est décidé, à partir du mois prochain, je me remets au making !
Kitu : POURQUOI Y'A PAS DE X?
Ephy : Bah on est cons, on est méchants et on s'en prend à plus faible que nous. Je vois pas où est le mal...
Tampaxor : Là, tu attends quand même un peu qu'on te tire.
Akzaroine: je n'ai jamais lu de livres xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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
-
» [résolu] Je ne parviens pas à afficher les catégories...
» Comment afficher notre avatar sur une page html ? [ Résolu ]
» [ résolu ] ne pas afficher les titres dans les cadres des forums
» Comment afficher la vitesse dans la fenêtre "Profil d'altitude".
» décochage :ne plus afficher ce message

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: