🤔 Para Refletir :
"A pressa é a inimiga do grinding."
- Moge

BARRA DE VIDA E ENERGIA POR EVENTOS

herrmarcus

Novato
Membro
Membro
Juntou-se
19 de Dezembro de 2016
Postagens
18
Bravecoins
0
Bom dia, camaradas. Estou criando um game no RPG Maker VX Ace, e gostaria de saber de que forma eu poderia fazer uma HUD prática por eventos. Mas, não quero aquela forma utilizando Pictures, pois é muito trabalhoso e acredito que tem uma forma mais fácil de fazer isso. Ficaria grato caso pudesse me auxiliar nisso.
 
Cara por eventos, é tudo na base de manipulação de imagens e variaveis booleanas basicamente (true or false), pois por eventos não tem como "desenhar" pixels por exemplo, e mesm por script é preferivel que invoque o metodo de mostrar imagem, a não ser que seja uma barra muito simples, ai desenha uns pixel em vermelha e tal, mas por evento que eu saiba é tudo por manipulação de imagens.

O unico meio que me veio agora no momento, é você fazer um evento que exiba toda informação da hud (ja que não quer utilizar imagens) por texto, ai vc vai ter que colocar ele em processo paralelo para quando apertar um botao, ele exibe a "hud" em texto, com as informações, mas não acho que é isso que vc quer.

 
O problema não é usar imagens, mas sim dimensionar as imagens, conforme a HUD. Por exemplo, se eu fosse fazer uma barra de vida. Como poderia colocar para mostrar a barra cheia quando ele tivesse 100% de vida, a barra em 75% quando ele tivesse até essa quantidade, a barra em 25% quando ele tivesse até essa quantidade? Como na imagem em anexo.
 

Anexos

  • 0dce7ef8f1b203bf68bb086a8c5212eb_screen_1024x640.jpg
    0dce7ef8f1b203bf68bb086a8c5212eb_screen_1024x640.jpg
    74,4 KB · Visualizações: 103
Os eventos não oferem o metodo rect dos scripts para recortar imagens, isso significa que eles foram programados para apenas apresentarem imagens completas, ou seja, uma barra vermelha alargando ou encolhendo através de eventos, só seria possivel se tivesse uma outra imagem cubrindo ela, o que mesmo assim não soluciona.

Então se quer fazer uma hud por eventos, faz a barra por opacidade (pois opacidade é a opção que os eventos dão, de manipular imagens), então conforme o hp do goku vai diminuindo o sangue vai ficando mais "invisivel" (vai diminuindo a opacidade)" e quando aumentar o hp aumenta a opacidade.

Não sei se tem outra forma. E sobre escrever as porcentagens x% do hp: os eventos manipulam strings (textos) apenas com caixas de dialgos, e vc pode deixar o fundo da caixa de dialogo invisivel, assim só vai ficar exibindo um texto. Só que mesmo assim vai ficar zuado, pois os eventos só dão algumas opões de posicionamento das strings. Por exemplo: baixo, meio, e cima, ou seja, nada de cando esquerdo nem canto direito e etc.

Os tutoriais de scripts por huds são os mais fáceis que tem, mas se não ta afim de investir o tempo, faz isso da opacidade, o jogo Diablo 1 se eu não estou enganado também diminuia a opacidade do sangue ao invés de alargar e encolher.
 
Entao, tem um jeito muito mais facil, porem vc vai ter q mover a img por script.

O chamado de script pra mover img no ace eh o seguinte:

Código:
screen.pictures[n].move(position, x, y, x zoom, y zoom, opacity, blend type, wait)
# position = [0] Top Left, [1] = Center
# blend type = [0] Normal, [1] Add, [2] Sub

Crie uma barra de hp para o hp cheio e depois manipule o x zoom ou y zoom dela de acordo com o hp do personagem.

Por exemplo, eu tenho 230 de hp maximo e 100 de hp atual. Criando uma variavel auxiliar e fazendo algumas contas basicas (pega o valor do hp atual, multiplica por 100 e divide pelo hp maximo) eu encontro a % de hp atual do personagem (43%+- nesse exemplo).

Com esse valor encontrado eh soh mudar o x zoom da sua picture pra o valor da variavel.

Parece meio complicado explicando mas eh algo que vc faz em 3 linhas de evento.
Eu fiz isso recentemente mas foi no MV.

pSLF7bYSQk_80-QmDNC0dA.png


Eh basicamente o que eu expliquei ai encima com a diferenca que eu multiplico por 75 pois quero que o tamanho da minha barra de hp va apenas ate 75%.

O efeito ficou assim +-:

oUkZf4X.gif


PS: teclado americano aqui, sorry pelo pt sem acento e cedilha
 
Voltar
Topo Inferior