Conectar-se
Quem está conectado
30 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 28 Visitantes

CRP-Max, Katerp

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 06/06/2010
Número de Mensagens : 222
Insígnias de JAM :

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

[Resolvido]SWITCH com IF dentro do CASE

em Sab 20 Out 2012, 20:26
Aew galera!!!

Estou tentando botar um IF dentro do CASE do SWITCH mas o Game Maker está se comportando como não tivesse esse IF, estou usando esse code:

Código:
case opt: if criedopt=0 {scr_option(); criedopt=1; break}
Esse code está num botão que está se comportando assim: quando eu clico a primeira vez ele vira TRUE na segunda ele vira FALSE depois TRUE e assim fica nesse circulo vicioso.

Na verdade queria que quando fosse clicado a primeira vez virasse TRUE e depois não virasse false nem executasse o resto que tem dentro do CASE quando fosse clicado outras vezes enquanto essa veriavel estivesse em TRUE


Última edição por Ufrarion em Seg 22 Out 2012, 01:10, editado 1 vez(es)
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: [Resolvido]SWITCH com IF dentro do CASE

em Dom 21 Out 2012, 12:23
Somente este code aí não Explica Muita coisa, não vejo o Erro só com isso, coloque todo o SWITCH.

o Code atual, não faz ele voltar para false.
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

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

Re: [Resolvido]SWITCH com IF dentro do CASE

em Dom 21 Out 2012, 14:44
O erro que notei é que o break não ta na posição certa. Ele deve finalizar um caso.
E o opt deve ser indicado dentro do switch(aqui), pra que os casos tenha só o valor atual dessa variável.
Exemplo:
switch(opt){case 0:if criedopt=0{scr_option();criedopt=1;}break;}
avatar
Data de inscrição : 06/06/2010
Número de Mensagens : 222
Insígnias de JAM :

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

Re: [Resolvido]SWITCH com IF dentro do CASE

em Dom 21 Out 2012, 23:04
Desculpe, eu achei que não presisaria de todo o switch:

Código:
    cmd = API_Check_Command (1);
    check = API_Check_SecondaryCommand(1)
   
    switch (cmd)
    {
    case exitt: game_end(); break
    case opt: if criedopt=0 { criedopt=1; scr_option();; break}
    case new: game_restart(); break
    }
#theguitarmester

Sim, eu tambem notei isso que ele não tem como voltar para false e se eu tiro a parte if criedopt=0 ele não volta a ficar false, o que faz pensar que o Game Maker não está conseguindo "interpretar" o IF, mas mesmo assim ele ficaria true porque depois tem o criedopt=1, estranho não?

#Super Maker

Não entendi direito esse teu code, tu quer botar outro switch dentro de outro? Ou quer fazer o opt virar um switch? Qualquer uma dessas duas acho que não funcionaria não é?
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

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

Re: [Resolvido]SWITCH com IF dentro do CASE

em Seg 22 Out 2012, 00:22
Não.
Eu mencionei que você finalizou um case antes da última chave do bloco, só que tem que finalizar depois da chave, entende?
você fez: break}
o certo seria: }break;
avatar
Data de inscrição : 06/06/2010
Número de Mensagens : 222
Insígnias de JAM :

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

Re: [Resolvido]SWITCH com IF dentro do CASE

em Seg 22 Out 2012, 01:09
#Super Maker

Era exatamente isso, agora olhando que fui ver que o break tinha que estar no mesmo "nivel" que o case! Laughing

Vlw mesmo muito obrigado!!! Resolvido
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