Fixar uma Picture em cima do Personagem?!

4 Respostas   171 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Tatutoy

  • *
  • Posts: 9
  • Ouros: 1
  • "Without music, life would be a mistake" - N,F
Tópico criado em: 04/09/2017 às 09:43 - Última modificação por Tatutoy em 04/09/2017 às 11:37

Olá pessoal,

Estou precisando manter uma imagem (HUD) em cima do herói, e mesmo posicionando as coordenadas, quando
o herói chega nos cantos da tela, a imagem continua naquelas coordenadas (centro da tela), saindo de cima do personagem.
Gostaria de saber como faço para que esta imagem fique em bind com o personagem, independente de onde ele estiver em relação a tela.

Talvez dê para fazer por eventos?
Algum luz?!

 :sera:

Obrigado.

Corvo

Resposta 1: 04/09/2017 às 09:48 - Última modificação por Corvo em 04/09/2017 às 09:50

A forma menos trabalhosa é impedir que o jogador se aproxime das bordas do mapa. Por exemplo, você cria um mapa de 30x30, mas só mapeia 20x20 no centro, de modo que a "câmera" nunca alcance o limite. O personagem continua no centro da tela o tempo todo. O modo mais trabalhoso é verificar constantemente as coordenadas do jogador e mover com a mesma frequência a imagem para estas coordenadas. Recomendo o primeiro modo.

Tatutoy

  • *
  • Posts: 9
  • Ouros: 1
  • "Without music, life would be a mistake" - N,F
Resposta 2: 04/09/2017 às 10:07

Tinha pensado sobre as bordas, porém gosto tanto delas :(
Como seria realizar essas coordenadas por eventos?

Só de imaginar que o evento teria que constantemente verificar se o player está próximo das bordas, já imagino a dor de cabeça!




Corvo

Resposta 3: 04/09/2017 às 10:28

Nem é tanto trabalho assim, preguiça minha haha. E bom, vai depender de que tipo de HUD você está criando. Suponhamos que seja uma barrinha acima da cabeça do jogador:



Primeiro definimos as coordenadas do jogador em variáveis. Vá em:

Código: [Selecionar]
Controle de Variáveis > Dados do Jogo > Personagem > Jogador > Tela X/Y
Cuidado para não confundir Tela X/Y com Mapa X/Y, são coordenadas distintas. Feito isso, conseguimos a posição do jogador, entretanto a imagem aparecerá sobre ele. Por isso fazemos a correção do eixo Y, altere o valor até que a posição da imagem lhe agrade. Depois, basta mostrar a imagem utilizando as variáveis como coordenadas e pronto. Para atualizar, você pode repetir o processo usando "Mover Imagem" e, no caso de uma barrinha, sempre atualize as coordenadas antes de atualizar a barra.

Tatutoy

  • *
  • Posts: 9
  • Ouros: 1
  • "Without music, life would be a mistake" - N,F
Resposta 4: 04/09/2017 às 11:36

Fiz por evento comum seguindo suas variáveis, deu certinho!
Não imaginava que seria tão fácil...Acho que o preguiçoso sou eu haha.

Obrigado.


[Anexo excluído pelo administrador]