Suporte no desenvolvimento de jogos


    [Lucky] Criando sua primeira HUD #1

    DFox
    DFox
    Desenvolvedor
    Desenvolvedor

    Mensagens : 817
    Créditos : 63

    [Lucky] Criando sua primeira HUD #1 Empty [Lucky] Criando sua primeira HUD #1

    Mensagem por DFox em Sex Mar 02, 2012 9:06 pm

    [box class=titlebg][size=14pt]Criando sua primeira HUD #1[/size][/box]
    [box class=catbg4]Talvez eu faça uma próxima aula, ensinando a por imagens em sua hud.[/box]

    :centerline:


    [box class=titlebg][size=14pt]Introdução[/size][/box]
    [box]Bom galera, eu irei ensinar a vocês como criar uma hud sem imagens, como esta :
    Spoiler:
    [Lucky] Criando sua primeira HUD #1 Hudr
    e na segunda aula irei ensinar a por imagens nela ![/box]

    :centerline:

    [box class=titlebg][size=14pt]Tutorial[/size][/box]
    [box]Primeiramente, comece com este código:
    Código:
    class HUD < Sprite
     
      #Inicia
      def initialize(view)
        super(view)
     
        #Cria as cores
        @ch1 = Color.new(50,0,0) #Muda a Cor Mais Escura Da Hud de HP.
        @ch2 = Color.new(250,0,0)#Muda a Cor Mais Clara da Hud de HP.
        @cm1 = Color.new(12,0,113)#Muda a Cor Mais Escura da Hud de MP.
        @cm2 = Color.new(0,0,255)#Muda a Cor Mais Clara da Hud de MP.
        @back = Color.new(20,20,20)#Parte de Traz da HUD¹.
        @back2 = Color.new(240,240,0)#Parte de Traz da Hud².
     
        #Cria o Bitmap
        self.bitmap = Bitmap.new(200,200)
        self.bitmap.font.name = "Comic Sans MS" #Escolhe a Fonte Para "HP" e "MP"
        self.bitmap.font.size = 20
        self.z = 300
        update
      end
    Mas oque este código faz ?
    Este código cria inicialmente a sprite da HUD, mas acalme-se pois ainda não está pronto..

    Agora acrescente este código:
    Código:
      #Atualiza
      def update
        super
     
        #Apaga o conteudo
        self.bitmap.clear
    Este código servirá para atualizar a hud, e a segunda parte para apagar seu conteúdo (assim como indicado no próprio
    código)

    em seguida adcione este código para a barra de HP
    Código:
        #Cria a barra de HP
        hp = $game_actors[1].hp
        maxhp = $game_actors[1].maxhp
        wb = 116 * hp / maxhp
        self.bitmap.fill_rect(10, 10, 120, 10, @back)
        self.bitmap.fill_rect(11, 11, 118, 8, @back2)
        self.bitmap.fill_rect(12, 12, 116, 6, @back)
        self.bitmap.gradient_fill_rect(12, 12, wb, 6, @ch1, @ch2)
        self.bitmap.draw_text(10, 0, 200, 24, "HP")
    Já temos a nossa barrinha de HP !! XD
    nesta parte :

    Não altere nada Ok ? o Script ainda não está funcional.

    adcione agora este código, para a barra de MP:
    Código:
        #Cria a barra de MP
        mp = $game_actors[1].mp
        maxmp = $game_actors[1].maxmp
        wb = 116 * mp / maxmp
        self.bitmap.fill_rect(10, 30, 120, 10, @back)
        self.bitmap.fill_rect(11, 31, 118, 8, @back2)
        self.bitmap.fill_rect(12, 32, 116, 6, @back)
        self.bitmap.gradient_fill_rect(12, 32, wb, 6, @cm1, @cm2)
        self.bitmap.draw_text(10, 20, 200, 24, "MP")
     
      end

    def dispose
        self.bitmap.dispose
        super
      end
    end

    e no final, acrescente este código para ligar a HUD:
    Código:
    #Instala a HUD
    class Spriteset_Map
      alias :or_initialize :initialize
      def initialize
        @hud = HUD.new(@viewport2)
        or_initialize
      end
      alias :or_update :update
      def update
        @hud.update
        or_update
      end
      alias :or_dispose :dispose
      def dispose
        @hud.dispose
        or_dispose
      end
    end

    Agora já podem testar Successful.
    Bom, todas as instruções estão no SCRIPT, para modificar algo, é só ir lendo conforme o código..

    Resultado Final:
    Spoiler:
    Código:
    class HUD < Sprite
     
      #Inicia
      def initialize(view)
        super(view)
     
        #Cria as cores
        @ch1 = Color.new(50,0,0) #Muda a Cor Mais Escura Da Hud de HP.
        @ch2 = Color.new(250,0,0)#Muda a Cor Mais Clara da Hud de HP.
        @cm1 = Color.new(12,0,113)#Muda a Cor Mais Escura da Hud de MP.
        @cm2 = Color.new(0,0,255)#Muda a Cor Mais Clara da Hud de MP.
        @back = Color.new(20,20,20)#Parte de Traz da HUD¹.
        @back2 = Color.new(240,240,0)#Parte de Traz da Hud².
     
        #Cria o Bitmap
        self.bitmap = Bitmap.new(200,200)
        self.bitmap.font.name = "Comic Sans MS" #Escolhe a Fonte Para "HP" e "MP"
        self.bitmap.font.size = 20
        self.z = 300
        update
      end
     
      #Atualiza
      def update
        super
     
        #Apaga o conteudo
        self.bitmap.clear
     
        #Cria a barra de HP
        hp = $game_actors[1].hp
        maxhp = $game_actors[1].maxhp
        wb = 116 * hp / maxhp
        self.bitmap.fill_rect(10, 10, 120, 10, @back)
        self.bitmap.fill_rect(11, 11, 118, 8, @back2)
        self.bitmap.fill_rect(12, 12, 116, 6, @back)
        self.bitmap.gradient_fill_rect(12, 12, wb, 6, @ch1, @ch2)
        self.bitmap.draw_text(10, 0, 200, 24, "HP")
     
        #Cria a barra de MP
        mp = $game_actors[1].mp
        maxmp = $game_actors[1].maxmp
        wb = 116 * mp / maxmp
        self.bitmap.fill_rect(10, 30, 120, 10, @back)
        self.bitmap.fill_rect(11, 31, 118, 8, @back2)
        self.bitmap.fill_rect(12, 32, 116, 6, @back)
        self.bitmap.gradient_fill_rect(12, 32, wb, 6, @cm1, @cm2)
        self.bitmap.draw_text(10, 20, 200, 24, "MP")
     
      end
     
      def dispose
        self.bitmap.dispose
        super
      end
    end

    #Instala a HUD
    class Spriteset_Map
      alias :or_initialize :initialize
      def initialize
        @hud = HUD.new(@viewport2)
        or_initialize
      end
      alias :or_update :update
      def update
        @hud.update
        or_update
      end
      alias :or_dispose :dispose
      def dispose
        @hud.dispose
        or_dispose
      end
    end

    Lição:
    Personalize a HUD, mudando fonte, cor, etc e poste no tópico Very Happy

    Na próxima aula eu ensino a por imagens !
    Nota: Isso é muito básico, mas é bom para quem está aprendendo Very Happy

    [/box]

    :centerline:

    [box class=titlebg][size=14pt]Créditos[/size][/box]

    [box]Lucky - Pela criação .
    Alucard_2 - Por me ensinar o básico de RGSS2 .

    Ah lucky mas não foi vc que fez mimimimi
    R: Essa hud foi feita por mim a muito tempo e postada em outros fóruns, então estou aqui postando o tutorial "original"


    _________________
    ah mar num vai
    Valentine
    Valentine
    Administrador
    Administrador

    Medalhas : [Lucky] Criando sua primeira HUD #1 94Jxv[Lucky] Criando sua primeira HUD #1 ZgLkiRU
    Mensagens : 5102
    Créditos : 1129

    [Lucky] Criando sua primeira HUD #1 Empty Re: [Lucky] Criando sua primeira HUD #1

    Mensagem por Valentine em Sab Mar 03, 2012 11:26 am

    Ótima aula Lucky e é bom vê-lo ativo novamente.


    _________________
    [Lucky] Criando sua primeira HUD #1 AIymW
    tenchuzinho
    tenchuzinho
    Experiente
    Experiente

    Mensagens : 574
    Créditos : 10

    [Lucky] Criando sua primeira HUD #1 Empty Re: [Lucky] Criando sua primeira HUD #1

    Mensagem por tenchuzinho em Seg Mar 05, 2012 10:57 am

    Legal pena que n gosto do vx


    _________________
    Very Happy
    Satheios
    Satheios
    Aldeia Friend
    Aldeia Friend

    Medalhas : [Lucky] Criando sua primeira HUD #1 Trophy12[Lucky] Criando sua primeira HUD #1 IlSfE
    Mensagens : 1248
    Créditos : 306

    [Lucky] Criando sua primeira HUD #1 Empty Re: [Lucky] Criando sua primeira HUD #1

    Mensagem por Satheios em Seg Mar 05, 2012 7:01 pm

    Hud simples, mas o que importa é a intenção.
    Obrigado aí mano, apesar de eu nunca querer migrar pro vx T.T '


    _________________



    Ninguém pode ser perfeito, mas todos podem ser melhores.
    Visite o meu projeto, Tales of a Kingdom e prepare-se para um novo mundo!





    Conteúdo patrocinado

    [Lucky] Criando sua primeira HUD #1 Empty Re: [Lucky] Criando sua primeira HUD #1

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom Maio 24, 2020 10:50 pm