RPG Maker Speciality
Bonjour ! Bienvenue sur RPG Maker Speciality.
Cliquez sur "S'enregistrer" en haut pour vous inscrire !
On cherche au moins 5 Testeurs, 3 Scripteurs, 5 Scénaristes, 4 Ressourceurs et 10 Jurés de concours.


Forum français dédié à RPG Maker. Vous pouvez y trouver de tout. 21 personnes se sont inscrites, ce n'est pas beaucoup !
 
AccueilAccueil  PortailPortail  CalendrierCalendrier  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  ConnexionConnexion  S'enregistrerS'enregistrer  
Lisez "Visite guidée du forum" qui se trouve dans Blabla hors-sujet si vous voulez vous inscrire !
Concours numéro 10: plus que 12 places ! Participants:
Lorsque vous vous êtes inscrit, demandez à l'Admin par MP de générer votre feuille de personnage !
Traduction
Partenaire
Derniers sujets
» Concours numéro 10: Mauvaise rencontre
Aujourd'hui à 19:18 par Lord Arkausey

» VX Ace: La ligue de Succubia
Aujourd'hui à 16:04 par Lord Arkausey

» Bug Pokéstarter
Aujourd'hui à 15:42 par Lord Arkausey

» Faut-il supprimer les membres[...] ?
Aujourd'hui à 15:02 par Fflo

» Présentation de Pokémon Essentials (ou Pokéstarter)
Aujourd'hui à 13:35 par Lord Arkausey

» Une autre famille décimée-Screenshots
Hier à 18:37 par Lord Arkausey

» 7 Eléments Pro
Hier à 16:24 par Fflo

» Peut-on faire une fan-série sur RPG Maker ?
Ven 18 Mai - 15:26 par Fflo

» Topic des débuts de projet
Ven 18 Mai - 15:21 par Fflo

» Annonces de l'Equipe de RMS
Ven 18 Mai - 14:21 par Fflo

» Création d'une planche de facesets
Jeu 17 Mai - 15:28 par Fflo

» Quel est le pire cliché que vous ayez vu dans un projet ?
Jeu 17 Mai - 9:07 par Fflo

» [Bribe]Une famille décimée
Mer 16 Mai - 17:45 par Fflo

» Ma-Ri-Oh: le Tournoi de l'Ile Okidoki
Mar 15 Mai - 10:34 par Fflo

» Concours numéro 9: Mapping de donjon végétal
Mar 15 Mai - 9:35 par Fflo

Sondage
Des leçons sur RPG Maker VX Ace, ça vous plairait ?
Oui
100%
 100% [ 1 ]
Non
0%
 0% [ 0 ]
Peut-être
0%
 0% [ 0 ]
Total des votes : 1
Sujets les plus vus
Cela vous plaîrait-t-il que RPG Maker VX Ace soit dans ce forum ?
Comparatif des RPG Maker
Projet RPG Maker VX: L'Armée
Character: Mario et Luigi
Quel RPG Maker est le meilleur ?
Quelle est la durée optimale d'un combat contre un boss ?
Leçon 1: Création d'une map et prise en main de PSP4G+
XP: Pokémon Obsidian
Présentation de Pokémon Essentials (ou Pokéstarter)
Autre: Fusion Maker, utilitaire pour XP et VX
Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 1 Enregistré, 0 Invisible et 1 Invité :: 1 Moteur de recherche

Fflo

Le record du nombre d'utilisateurs en ligne est de 14 le Mer 21 Mar - 21:00
Statistiques
Nous avons 21 membres enregistrés
L'utilisateur enregistré le plus récent est neotaz01

Nos membres ont posté un total de 861 messages dans 349 sujets

Partager | 
 

 HUD adaptable en fonction du nombre de héros

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Fflo
Admin gentil


Messages: 744
Points: 2433
Réputation: 0
Date d'inscription: 11/06/2011
Age: 17
Localisation: Intimité !

Feuille de personnage
Points Making manquants:
2500/2500  (2500/2500)

MessageSujet: HUD adaptable en fonction du nombre de héros   Dim 15 Jan - 18:49

HUD=Heads-Up Display
Ce script de Raziel, pris de RPG Creative, permet d'afficher les PV, PM, Exp et Etat.
A nommer probablement HUD.
Code:
    # HUD by Raziel
    class Scene_Map
   
      SWITCH_ID = 1
      $center_hud = false
   
      alias raz_hud_main main
      alias raz_hud_update update
   
      def main
        @size = $game_party.actors.size
        raz_hud_main
        @hud_window.dispose
        for i in 0...$game_party.actors.size
          @hud_dummy[i].dispose
        end
      end
   
      def update
        if @size != $game_party.actors.size
          @hud_window.refresh
          show_window
        end
        if @hud != true
          main_window
        end
        turn_hud_on_off
        @hud_window.update
        raz_hud_update
      end
   
      def show_window
        @size = $game_party.actors.size
        for i in 0..3
          @hud_dummy[i].visible = ($game_party.actors[i] != nil)
        end
      end
   
      def main_window
        @opacity = 200
        @hud_dummy = []
        for i in 0...4
          y = $game_party.actors.size - 1
            x = 240 - (y * 80)
          if $center_hud == true
          @hud_dummy[i] = Window_Base.new(160 * i + x, 372,160, 108)
        else
          @hud_dummy[i] = Window_Base.new(160 * i, 372,160, 108)
          end
          @hud_dummy[i].opacity = @opacity
          @hud_dummy[i].visible = false
        end
        @hud_window = Window_HUD.new
        for i in 0...$game_party.actors.size
          @hud_dummy[i].visible = $game_party.actors[i] != nil
        end
        @hud = true
      end
   
    def turn_hud_on_off
    if $game_switches[SWITCH_ID] == false
      @hud_window.visible = false
        for i in 0...$game_party.actors.size
          @hud_dummy[i].visible = false
        end
      end
   
   
      if $game_switches[SWITCH_ID] == true
        @hud_window.visible = true
        for i in 0...$game_party.actors.size
          @hud_dummy[i].visible = true
        end
      end
    end

    end

   
    class Window_HUD < Window_Base
      def initialize
        super(0, 0, 800, 600)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.opacity = 0
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          eval("@old_hp#{i+1} = actor.hp; @old_sp#{i+1} = actor.sp; @old_exp#{i+1} = actor.now_exp")
        end
        refresh
      end
   
      def refresh
        self.contents.clear
        for i in 0...$game_party.actors.size
          a = $game_party.actors.size - 1
          actor = $game_party.actors[i]
          if $center_hud == true
          x = (i * 160 + 25) + (240 - (a * 80))
        else
          x = i * 160 + 25
          end
          self.contents.font.size = 21
          draw_actor_graphic(actor, x - 15, 445)
          self.contents.font.color = normal_color
          self.contents.draw_text(x - 25, 360, 100, 32, actor.name)
          width = 100
          height = 6
          draw_slant_bar(x + 8, 396, actor.hp, actor.maxhp, width, height, Color.new(150, 0, 0), Color.new(155, 155, 60))
          draw_slant_bar(x + 8, 416, actor.sp, actor.maxsp, width, height, Color.new(0, 0, 150), Color.new(60, 155, 155))
          unless actor.level == 99
            draw_slant_bar(x + 8, 436, actor.now_exp, actor.next_exp, width, height, Color.new(0, 150, 0), Color.new(60, 255, 60))
          else
            draw_slant_bar(x + 8, 436, 1, 1, width = 100, height = 6, Color.new(0, 150, 0), Color.new(60, 255, 60))
          end
          self.contents.font.size = 16
          draw_actor_state(actor, x + 45, 360)
          self.contents.font.color = normal_color
          self.contents.font.bold = true
          self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
          self.contents.draw_text(x + 16, 382, 100, 32, "#{actor.hp}/#{actor.maxhp}", 1)
          self.contents.font.color = actor.sp == 0 ? crisis_color : actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
          self.contents.draw_text(x + 16, 402, 100, 32, "#{actor.sp}/#{actor.maxsp}", 1)
          self.contents.font.color = system_color
          self.contents.font.size = 20
          self.contents.font.bold = false
          self.contents.draw_text(x, 384, 50, 32, $data_system.words.hp)
          self.contents.draw_text(x, 404, 50, 32, $data_system.words.sp)
          self.contents.draw_text(x, 424, 50, 32, "Exp")
        end
      end

      def update
        super
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          if (eval("@old_hp#{i+1}") != actor.hp or eval("@old_sp#{i+1}") != actor.sp or
            eval("@old_exp#{i+1}") != actor.now_exp)
            refresh
            eval("@old_hp#{i+1} = actor.hp; @old_sp#{i+1} = actor.sp; @old_exp#{i+1} = actor.now_exp")
          end
        end
      end
    end
     
    class Window_Base < Window
      def draw_slant_bar(x, y, min, max, width = 152, height = 6,
          bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
        for i in 0..height
          self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
        end
        for i in 1..(height - 1)
          r = 100 * (height - i) / height + 0 * i / height
          g = 100 * (height - i) / height + 0 * i / height
          b = 100 * (height - i) / height + 0 * i / height
          a = 255 * (height - i) / height + 255 * i / height
          self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
        end
        for i in 1..( (min / max.to_f) * width - 1)
          for j in 1..(height - 1)
            r = bar_color.red * (width - i) / width + end_color.red * i / width
            g = bar_color.green * (width - i) / width + end_color.green * i / width
            b = bar_color.blue * (width - i) / width + end_color.blue * i / width
            a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
            self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
          end
        end
      end
    end

    class Game_Actor
      def now_exp
        return @exp - @exp_list[@level]
      end
      def next_exp
        return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
      end
    end

_________________
Je recherche des membres.
Je suis celui qui est tellement fan de Pokémon qu'il fait des allusions à toutes les sauces dans ses projets !
Qu'est-ce que c'est que ce binz ?!? Je suis Admin de ce forum et je subis des plus grosses critiques que mes membres !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerspeciality.forumgratuit.fr En ligne
 

HUD adaptable en fonction du nombre de héros

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Transformer une plage de cellule de nombre positif en nombre
» Fonction UPnP
» La fonction ATN2(x,y) me manque
» Nombre aléatoire en HTML ou JS
» Permission d' acces a un forum et visibilité en fonction du nombre de messages

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker Speciality :: RPG Maker en général :: Scripts :: Scripts pour XP-