Forums » RGSS

Dodoop: Aula 1 - Criando uma HUD (parte 1)

    • 683 posts
    4 de junho de 2015 13h17min56s ART


     

    Aula 1 - Criando uma HUD parte 1

     
     

    Autor:Dodoop
    Versão:1.0
    Dúvidas ou Sugestões:Avise por PM ou no próprio tópico.
    Nível:Facil (facil/médio/avançado)



    Pesso que não divulguem esse tutorial em outros site, pois eu quero ter total controle sobre os tópicos desse tutorial para que eu mesmo possa atualiza-lo frequentimente, obrigado pela atenção.



    2 de Janeiro de 2010 - Melhorada a organização do tópico



    Eu vou encinar a voces a criar uma HUD com scripts.Eu vou criar uma serie de aulas encinando a mudar opcidade de janelas,colocar imagens no fundo das scenes...



    1.Pegue esse template:

    X =0 Y =0Largura=0Altura=0classHud<Window_Base   def initialize       super(X,Y,Largura,Altura)       self.contents =Bitmap.new(width -32, height -32)       @ator=0       refresh     end   def refresh     self.contents.clear     actor = $game_party.actors[0]#Conteúdo:      #Fim         if $scene.is_a?(Scene_Menu)       self.contents.clear     end     if $scene.is_a?(Scene_Battle)       self.contents.clear       self.visible =false     end   endend#Adiciona a janela a o mapa.classScene_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     @Hud.refresh   endend


    2.Voce está vendo que tem uma linha do script scrito o seguinte:

    $game_party.actors[ator]

    Troque ator pelo id do herói que está na party cujo os status serão
    igual ao dele.
    Por exemplo se eu colocar:

    $game_party.actors[0]

    Irá monstrar os status do ator 1 que está na party.
    Eu recomendo colocar 0!

    3.Voce está vendo uma linha cujo está escrito:
    #Conteúdo:
    e outra cujo está escrito:
    #Fim

    Debaixo de 
    #Conteúdo
    e em cima de 
    #Fim
    nós vamos adicionar os comandos.

    Os comandos que voce pode colocar são os seguintes:
    Aviso:
    Esses são os comandos básicos na proxima aula eu encino mais
    auguns comandos des de comandos simples até comandos avançados como
    desenhar faces. 

    Desenhar Gráfico:

    draw_actor_graphic(actor, x, y)

    Desenhar Nome:

    draw_actor_name(actor, x, y)

    Desenhar Classe:

    draw_actor_class(actor, x, y)

    Desenhar Nível:

    draw_actor_level(actor, x, y)

    Desenhar Status:

    draw_actor_state(actor, x, y, width =120)

    Desenhar EXP:

    draw_actor_exp(actor, x, y)

    Desenhar HP:

    draw_actor_hp(actor, x, y, width =144)

    Desenhar MP:

    draw_actor_sp(actor, x, y, width =144)

    4.No iníciu do script voce víu que está ecrito: 
    X =0 Y =0Largura=300Altura=300

    Isso eu fis para ficar mais facil de configurar a janela.

    X =
    posição na horizontal(Quanto maior o número mais a janela 
    ficará para a direita)

    Y =
    posição na vertical(Quanto maior o número mais a janela 
    ficará para baixo)

    Largura=
    largura da janela.

    Altura=
    altura da janela.

    5.Voce pode colocar os comandos que eu te falei na onde eu te falei vamos
    traduzir um comando:

    draw_actor_hp(actor, 0, 0, width = 144)
    No lugar de 0 coloque a posição da janela na horizontal.
    No lugar do segundo 0 coloque a posição da janela na vertical.
    No lugar de width = 144 troque o 144 pela largura do texto do HP.(eu recomendo deixar 144 mesmo!)

    6.Agora use a criatividade e crie a sua HUD.

    7.Eu criei uma Hud com esse template para os observadores observarem:

    X =0 Y =0Largura=200Altura=120classHud<Window_Base   def initialize       super(X,Y,Largura,Altura)       self.contents =Bitmap.new(width -32, height -32)       @ator=0       refresh     end   def refresh     self.contents.clear     actor = $game_party.actors[0]#Conteúdo:         draw_actor_graphic(actor,130,48) draw_actor_hp(actor,0,20, width =144) draw_actor_sp(actor,0,40, width =144) draw_actor_exp(actor,0,60)#Fim       if $scene.is_a?(Scene_Menu)       self.contents.clear     end     if $scene.is_a?(Scene_Battle)       self.contents.clear       self.visible =false     end   endend#Adiciona a janela a o mapa.classScene_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     @Hud.refresh   endend
    8.Bom eu quero fazer aulas no estilo das duas que o moghunter fes!Só que as minhas serão mais explicados e lhes darão exemplos!



    Aula 1 - Criando uma HUD (parte 1) 
    Aula 2 - Criando uma HUD (parte 2) 
    Aula 3 - Criando uma HUD (parte 3)
    Aula 4 - Criando Novas Janelas  
    Aula 5 - Criando Condições HUD  

    É recomendado que você leia as aulas na sequência, caso contrario pode ocorrer desentendimento das mesmas.



    • Dodoop - Por criar



    [move]

    Até mais!

    [/move]