Suporte ao desenvolvimento de jogos!


    HUD - Testes com gradient_fill

    Compartilhe
    avatar
    Paulo Soreto
    Lenda
    Lenda

    Mensagens : 1961
    Créditos : 359

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    HUD - Testes com gradient_fill

    Mensagem por Paulo Soreto em Seg Abr 23, 2012 1:27 pm

    Iae gente, eu estava lendo sobre o gradient_fill_rect, que é usado para criar uma forma com um degradê interno. Bem, pra testar eu criei uma hud, bem simples, que exibe apenas o hp e mp do personagem, achei que ela ficou bonitinha e resolvi postar aqui pra quem quiser xD

    Screens
    Spoiler:
    Spoiler:

    Script
    Código:
    #===============================================================================
    # HUD
    #-------------------------------------------------------------------------------
    # By Soreto
    #===============================================================================
    class Hud < Window_Base
      def initialize
        super(-13,5,220,100)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.opacity = 0
        self.z = 9999
        @actor = $game_party.members[0]
       
        #------------------------------------------------
        # Align
        # 0 - Left | 1 - Center | 2 - Right
        #------------------------------------------------
        @align = 0
        refresh
      end
     
      def update
        super
        refresh if something_changed?
      end
     
      def something_changed?
        return true if @ohp != @actor.hp
        return true if @omp != @actor.mp
        return false
      end
     
      #------------------------------------------------
      # Refresh
      #------------------------------------------------
      def refresh
        self.contents.clear
        @ohp = @actor.hp
        @omp = @actor.mp
       
        #------------------------------------------------
        # Draw Bars
        #------------------------------------------------
        hpwidth = 175 * @actor.hp / @actor.mhp
        mpwidth = 175 * @actor.mp / @actor.mmp
        hpbar  = self.contents.gradient_fill_rect(5, 40, mpwidth, 15, Color.new(0,0,255), Color.new(30,144,255))
        mpbar  = self.contents.gradient_fill_rect(5, 10, hpwidth, 15, Color.new(255,0,0), Color.new(255,69,0))
        draw_border
        draw_text
      end
     
      #------------------------------------------------
      # Draw Text
      #------------------------------------------------
      def draw_text
        self.contents.font.name = "Verdana"
        self.contents.font.size = 15
        txt  = self.contents.draw_text(5, 10, 175, 15, "#{@actor.hp}/#{@actor.mhp}", @align)     
        txt2 = self.contents.draw_text(5, 40, 175, 15, "#{@actor.mp}/#{@actor.mmp}", @align)
      end

      #------------------------------------------------
      # Draw Border
      #------------------------------------------------ 
      def draw_border
        self.contents.blur
        @border1 = self.contents.fill_rect(0, 1, width - 32-1, 1, Color.new(0,0,0))
        @border2 = self.contents.fill_rect(0, 0, width - 32-3, 1, Color.new(0,0,0))
        @border4 = self.contents.fill_rect(0, 65, width - 32-1, 1, Color.new(0,0,0))
        @border5 = self.contents.fill_rect(0, 66, width - 32-3, 1, Color.new(0,0,0))
        self.contents.blur
      end
     
    end

    #------------------------------------------------
    # Class Scene_Map
    #------------------------------------------------
    class Scene_Map
      alias hud_main main
      def main
        @Hud = Hud.new
        hud_main
        @Hud.dispose
      end
      alias hud_update update
      def update
        hud_update
        @Hud.update
      end
    end


    Última edição por Soreto em Seg Abr 23, 2012 3:12 pm, editado 3 vez(es)


    _________________
    avatar
    Muta
    Ocasional
    Ocasional

    Mensagens : 192
    Créditos : 48

    Re: HUD - Testes com gradient_fill

    Mensagem por Muta em Seg Abr 23, 2012 1:55 pm


    ---------------------------------
    Ficou bonita mesmo Soreto =D
    +1 Cred
    ---------------------------------


    _________________
    "Cansei de esconder o que há em meu coração, agora vou mostrar todo o amor que sinto por você"
    By:Darus Sven


    Melhores Bandas da História:

    Spoiler:

    -AC/DC
    -Metallica
    -Iron Maiden
    -Slipknot
    -Sistem of a Down
    -Angra
    -Ramones
    -Slayer

    -Nirvana
    -Scorpions
    -Green Day
    avatar
    matheus180
    Desenvolvedor
    Desenvolvedor

    Mensagens : 777
    Créditos : 174

    Re: HUD - Testes com gradient_fill

    Mensagem por matheus180 em Seg Abr 23, 2012 3:14 pm

    Ficou muito boa cara realmente, +1 créd!


    _________________
    avatar
    Hatsurugi
    Diva
    Diva

    Mensagens : 236
    Créditos : 125

    Re: HUD - Testes com gradient_fill

    Mensagem por Hatsurugi em Seg Abr 23, 2012 4:09 pm

    Merece meus parabéns pelo trabalho bem feito, continue assim.
    +1 Cred

    De sua atiradora

    Hatsurugi


    _________________
    Fanbars:

    Guild:

    Project:





    Minha deusa:



    avatar
    Raphael
    Iniciante
    Iniciante

    Mensagens : 78
    Créditos : 16

    Re: HUD - Testes com gradient_fill

    Mensagem por Raphael em Seg Abr 23, 2012 7:35 pm

    Realmente linda cara.
    Mas como vai ficar se a Hp tiver por exemplo, em 10/4200 e o texto não couber?
    avatar
    Paulo Soreto
    Lenda
    Lenda

    Mensagens : 1961
    Créditos : 359

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: HUD - Testes com gradient_fill

    Mensagem por Paulo Soreto em Seg Abr 23, 2012 8:16 pm

    É exatamente isso que vou corrigir xD
    Daqui a pouco posto ele corrigido.


    _________________
    avatar
    Nanzin
    Membro de Honra
    Membro de Honra

    Mensagens : 1558
    Créditos : 252

    Re: HUD - Testes com gradient_fill

    Mensagem por Nanzin em Seg Abr 23, 2012 8:24 pm

    Legal xD, to vendo que esta mergulhando no RGSS3 *O*
    nao pude deixar de notar o "novo" @align, nao sei se é isso mas é uma nova instancia da Window_Base? '-'

    fiquei curioso muhaha!

    +1


    _________________


    Para Aqueles que gostam de Min e de meu Trabalho;
    Upem Meu Pet nao custa nda!!


    Pet:
    avatar
    Paulo Soreto
    Lenda
    Lenda

    Mensagens : 1961
    Créditos : 359

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: HUD - Testes com gradient_fill

    Mensagem por Paulo Soreto em Seg Abr 23, 2012 9:01 pm

    É um parametro adicional no draw_text, ele alinha o texto no centro, na direita ou na esquerda dependendo do valor que por tipo assim:
    self.contents.draw_text(5, 40, 175, 15, "#{@actor.mp}/#{@actor.mmp}", 0)
    Alinha na direita, o 1 alinha no meio e 2 alinha na esquerda.
    O alinhamento é feito dentro da medida da largura, no caso 175.


    _________________
    avatar
    †AnjoFael†
    Experiente
    Experiente

    Mensagens : 412
    Créditos : 66

    Re: HUD - Testes com gradient_fill

    Mensagem por †AnjoFael† em Seg Abr 23, 2012 9:51 pm

    Hum..
    Achei Meiu Simples!
    Mas ficou legal!



    _________________

    Facebook

    Conteúdo patrocinado

    Re: HUD - Testes com gradient_fill

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg Ago 20, 2018 10:01 am