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:
@portrait = Sprite.new
@portrait.bitmap = Cache.picture("Ginette")
@portrait.x = (Graphics.width - 136)
@portrait.y = 6
@portrait.z = 255
@portrait.blend_type = 0
@portrait.opacity = 255[/code]
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:
if @actor_id == 11
@portrait = Sprite.new
@portrait.bitmap = Cache.picture("Ginette")
elsif @actor_id == 12
@portrait = Sprite.new
@portrait.bitmap = Cache.picture("Jeanette")
etc.
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
) ?
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.