Conectar-se
Quem está conectado
16 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 16 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Data de inscrição : 21/10/2011
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Problema com 2 if e else

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)
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Problema com 2 if e else

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!
Data de inscrição : 21/10/2011
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Problema com 2 if e else

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?
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Problema com 2 if e else

em Seg 24 Out 2011, 15:17
Ela só é declarada quando você aperta.
Então declare no create.

Até mais!
Convidad
Convidado

Re: Problema com 2 if e else

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)
Data de inscrição : 21/10/2011
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Problema com 2 if e else

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?
Convidad
Convidado

Re: Problema com 2 if e else

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
Data de inscrição : 21/10/2011
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Problema com 2 if e else

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)
Convidad
Convidado

Re: Problema com 2 if e else

em Seg 24 Out 2011, 16:20
então me envie o source gmk que eu resolvo para você...e me envie por MP .
Data de inscrição : 21/10/2011
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Problema com 2 if e else

em Seg 24 Out 2011, 17:14
Pronto.
Convidad
Convidado

Re: Problema com 2 if e else

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)
Data de inscrição : 21/10/2011
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Problema com 2 if e else

em Seg 24 Out 2011, 18:08
Ficou exatamente como eu queria. Muito obrigado cara!
Convidad
Convidado

Re: Problema com 2 if e else

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 .
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum