Como botar healthbar visivel apenas em uma view?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Como botar healthbar visivel apenas em uma view?

Mensagem por Mannoroth em Qua 22 Fev 2012, 14:52

estou fazendo um jogo em que numa fase interagem 3 players, cada um jogando em uma parte do teclado, ou joystick. Cada player tem uma view propria, em uma port in screen propria, ou seja, tela dividia em 3 pedaços, do mesmo cenario, só q cada view vai se encarregar de mostrar os dados de seu respectivo player e a camera dela seguira ele. A parte da camera seguindo cada player consegui, porem...: Quero que apareça a barra de poder( estou usando healthbar) do player 1 apenas na view do player 1, uma barra de poder do player 2 apenas na view do player 2, e a do player 3 apenas na view do player 3. Acontece que se eu boto a draw_healthbar q sempre fique na posiçao fixa da view do player 2 por exemplo, ela esta visivel na do player 1 e na do 3, e isso eu nao quero( quero q mostre apenas na do player 2). E o mesmo com as outras barras dos outros players.
Como exemplo tem o topgear do SNES, onde no view do player de cima aparece so os dados dele (velocidade, velocimetro, posiçao do player, mapa priorizando o player1), e na view de baixo, aparece só dados do player 2.

se tiver como fazer pra checar em que view se está vendo a draw_health, e lá ele ser visivel, porem ser invisivel nas outras views, já resolve, mas nao to conseguindo nenhuma solução. Fiz uns testes usando view_current e view_xport q nao deu certo, ou aparece nas 3 ou some nas 3.


Última edição por Mannoroth em Qui 01 Mar 2012, 19:12, editado 1 vez(es)

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Como botar healthbar visivel apenas em uma view?

Mensagem por saim em Qua 22 Fev 2012, 15:04

Não sei fazer, mas talvez dê pra desenhar na janela (do windows mesmo) ao invés de desenhar em alguma view, já tentou isso?
Experimente usar as coordenadas window_get_x() + posição daquela hud na tela.
Não faço idéia se vai funcionar ou não, mas é algo a se tentar.


Outra tentativa seria usar view_current. if view_current == 0 {desenhe a hud}.
Acho essa opção mais provável de funcionar, por isso risquei a de cima.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: Como botar healthbar visivel apenas em uma view?

Mensagem por Mannoroth em Qua 22 Fev 2012, 18:28

como eu falei já havia tentado usar view_current assim, só que foi assim:
Código:
if view_current=0 visible=true else visible=false
, mas saim, vc sugeriu usar o view_current pra desenhar em vez disso, e deu certo:
Código:
if view_current=1 {draw_healthbar(view_xview[1]+20,340,view_xview[1]+120,355,global.poder0,c_green,
c_purple,c_purple,90,1,1)}
if view_current=0 {draw_healthbar(view_xview[0]+20,340,view_xview[0]+120,355,global.poder5,c_green,
c_purple,c_purple,90,1,1)}
agora a barra com global.poder0 só é desenhada na view1 e a global.poder5 só será desenhada na view0.
vlw mesmo saim, agora eu vou precisar disso pra outra coisa tbm (criar um objeto so na tela de determinado player), e já testei e deu certo tbm com sua ajuda. Eu nao conhecia as funções windows_get, e ainda bem q nao precisou usar entao rs.
Saim, eu preciso botar creditos pra vc no jogo?, afinal nao fosse sua ajuda taria empacado ainda.
outra coisa, qual a diferença entre == e =? acho q tem algo haver com precedência ou prioridade, não tenho certeza, pode não ser nada disso.

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Como botar healthbar visivel apenas em uma view?

Mensagem por Neutral em Qua 22 Fev 2012, 18:48

outra coisa, qual a diferença entre == e =? acho q tem algo haver com precedência ou prioridade, não tenho certeza, pode não ser nada disso.

pelo que sei,em outras linguagens, não da pra usar o = numa condição, por que esse é o sinal de atribuição, ou seja, serve para atribuir um valor (normalmente a uma váriavel). Já == é o sinal de compração, e é o correto para usar na condição. Eu não sei pq no GML não da problema nenhum quando usa o = numa condição, mas o correto seria usar o == mesmo.

errado:
Código:
if (x = 5)
{
  y = 2;
}

corretp:
Código:
if (x == 5)
{
  y = 2;
}

Neutral

Ranking : Nota A
Número de Mensagens : 268
Data de inscrição : 16/10/2011
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Como botar healthbar visivel apenas em uma view?

Mensagem por saim em Qui 23 Fev 2012, 15:00

Mannoroth escreveu:como eu falei já havia tentado usar view_current assim, só que foi assim:
Código:
if view_current=0 visible=true else visible=false
Eu perdi essa parte da explicação (ainda bem, senão não teria pensado em usar view_current). Acho que mudar visible pra true/false faz é ativar/desativar o draw_event. Ou seja, DENTRO do draw_event, não teria efeito.
Mannoroth escreveu:Saim, eu preciso botar creditos pra vc no jogo?, afinal nao fosse sua ajuda taria empacado ainda.
Nah, esquece. Nem quando usam minhas engines eu faço questão de créditos, ainda mais por causa de uma dúvida.
Mannoroth escreveu:outra coisa, qual a diferença entre == e =? acho q tem algo haver com precedência ou prioridade, não tenho certeza, pode não ser nada disso.
É isso mesmo que o Neutral falou. Pra comparar, usa-se "==", pra atribuir, usa-se "=". Eu programo muito do lado de fora do game maker, apesar de usar só gml. Fico na esperança de que me acostumar às boas práticas vai me ajudar a aprender outras linguagens.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: Como botar healthbar visivel apenas em uma view?

Mensagem por Conteúdo patrocinado Hoje à(s) 20:13


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum