Problema com 2 if e else

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

Resolvido Problema com 2 if e else

Mensagem por Zura em Seg 24 Out 2011, 14:51

O código e o seguinte:

if keyboard_check_pressed(vk_nokey){
image_speed=0;
hspeed=0;

if(global.lado_marty==direita){
sprite_index=spr_marty_parado_direita;
}
else(global.lado_marty==esquerda){
sprite_index=spr_marty_parado_esquerda;
}
else{
sprite_index=spr_marty_parado_frente;
}
}

Eu queria fazer um else junto com um if, porque no meu caso poderão haver 3 ocasiões, em PHP eu faria elseif, como poderia fazer isso no GML?


Última edição por Zura em Seg 24 Out 2011, 18:10, editado 1 vez(es)

Zura

Número de Mensagens : 48
Data de inscrição : 21/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por PedroX em Seg 24 Out 2011, 15:07

Basta separar o else do if.
Código:

if (expressão)
bloco
else
if (expressao)
bloco

Obs: use keyboard_check(vk_nokey).

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Zura em Seg 24 Out 2011, 15:15

Agora está dando outro erro relacionado a variável:

Código:
___________________________________________
ERROR in
action number 1
of Keyboard Event for <no key> Key
for object obj_marty:

Error in code at line 5:
      if(global.lado_marty==direita){
                ^
at position 16: Unknown variable lado_marty



Eu declarei a variável lado_marty no evento Left.

Código:
if keyboard_check_pressed(a){
    global.lado_marty=esquerda;
    image_speed=0.50;
    hspeed=-5;
    sprite_index=spr_marty_andando_esquerda;
}

Alguém pode me ajudar?

Zura

Número de Mensagens : 48
Data de inscrição : 21/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por PedroX em Seg 24 Out 2011, 15:17

Ela só é declarada quando você aperta.
Então declare no create.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Convidad em Seg 24 Out 2011, 15:20

Tem vários erros no seu código ,código corrigido :

Declare na esquerda desta forma :
Código:

if(keyboard_check_pressed(ord("A"))) {
    global.lado_marty="esquerda";
    image_speed=0.50;
    hspeed=-5;
    sprite_index=spr_marty_andando_esquerda;
}


Código:

if(keyboard_check_pressed(ord("D"))) {
    global.lado_marty="direita";
    image_speed=0.50;
    hspeed=5;
    sprite_index=spr_marty_andando_direita;
}


é o outro do primeiro post ,que parece ser no Step_Event :
Código:

if keyboard_check_pressed(vk_nokey){
image_speed=0;
hspeed=0;
if(global.lado_marty=="direita"){
sprite_index=spr_marty_parado_direita;
}
if(global.lado_marty=="esquerda"){
sprite_index=spr_marty_parado_esquerda;
}
if((!global.lado_marty=="esquerda") and (!global.lado_marty=="direita")){
sprite_index=spr_marty_parado_frente;
}
}


Última edição por TRFN em Seg 24 Out 2011, 15:54, editado 1 vez(es)

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Zura em Seg 24 Out 2011, 15:54

Obrigado Pedro Henrique e TRFN, mas tem outro problema, já resolvi esse que eu queria.

Por exemplo: Eu estou andando com o meu personagem para a direita, se eu soltar o botão ele para normalmente, só que se eu estiver segurando o botão de andar para a direita, segurar outro botão qualquer do teclado (dessa forma segurando dois botões ao mesmo tempo), se eu soltar o botão de andar para a direita e continuar segurando o botão qualquer do teclado, ele continua andando.

Entenderam?

Alguém pode me ajudar?

Zura

Número de Mensagens : 48
Data de inscrição : 21/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Convidad em Seg 24 Out 2011, 15:57

Adicione este código no Step_Event :
Código:
if(!keyboard_check_pressed(ord("A")) and !keyboard_check_pressed(ord("D")) and !hspeed=0 and vspeed=0) {
image_speed=0;
hspeed=0;
if(global.lado_marty=="direita"){
sprite_index=spr_marty_parado_direita;
}
if(global.lado_marty=="esquerda"){
sprite_index=spr_marty_parado_esquerda;
}
if((!global.lado_marty=="esquerda") and (!global.lado_marty=="direita")){
sprite_index=spr_marty_parado_frente;
}
}

Se não funcionar,me envie a gmk por MP que eu corrijo estes e outros erros Happy

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Zura em Seg 24 Out 2011, 16:17

O Step_Event deu erro...

w w w.megaupload.c o m/?d=******** *retire os espços

Isso:

Código:
if(global.lado_marty=="direita"){
        sprite_index=spr_marty_parado_direita;
    }
    if(global.lado_marty=="esquerda"){
        sprite_index=spr_marty_parado_esquerda;
    }
    if(global.lado_marty=="frente"){
        sprite_index=spr_marty_parado_frente;
    }
    if(global.lado_marty=="costa"){
        sprite_index=spr_marty_parado_costa;
    }

Serve somente para dizer em qual posição o personagem deve ficar de acordo com a ultima tecla pressionada quando não tiver nenhuma tecla pressionada, por exemplo: Seu eu estava andando para a esquerda quando o personagem estiver parado ele vai ficar parado para a esquerda e virce-versa.

Baixe o arquivo e veja o que acontece, ande para a direita por exemplo e em quanto segura D segure também outra tecla qualquer ao mesmo tempo, agora solte D. Veja que ele continua andando para a direita mesmo sem estar pressionando D. Entendeu?


Última edição por Zura em Seg 24 Out 2011, 16:30, editado 1 vez(es)

Zura

Número de Mensagens : 48
Data de inscrição : 21/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Convidad em Seg 24 Out 2011, 16:20

então me envie o source gmk que eu resolvo para você...e me envie por MP .

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Zura em Seg 24 Out 2011, 17:14

Pronto.

Zura

Número de Mensagens : 48
Data de inscrição : 21/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Convidad em Seg 24 Out 2011, 17:39

Resolvido o problema,agora sim concertei o código .
Os códigos estavam meio bagunçados,entedi que você queria outra coisa,mas se queres uma dica,usa o gm 8 mesmo,acho ele muito melhor 'o' .

Aqui está o link para baixar o seu jogo com os bugs corrigidos .



Última edição por TRFN em Seg 24 Out 2011, 18:18, editado 1 vez(es)

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Zura em Seg 24 Out 2011, 18:08

Ficou exatamente como eu queria. Muito obrigado cara!

Zura

Número de Mensagens : 48
Data de inscrição : 21/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Convidad em Seg 24 Out 2011, 18:11

De nada.Se precisar de mais ajuda,me fala Happy
Como foi resolvido,acredito que o tópico já possa ser bloqueado .

Convidad
Convidado


Voltar ao Topo Ir em baixo

Resolvido Re: Problema com 2 if e else

Mensagem por Conteúdo patrocinado Hoje à(s) 17:58


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