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

Nenhum

Ver toda a lista


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

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

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

Como parar ciclo no STEP ?

em Ter 03 Set 2013, 13:04
Quando quero parar um ciclo no step,sempre faço assim :
Exemplo :
*no create*
Código:

parando = false;
*no step*
Código:

if x=300 and parando=false then
{
 nivel+=1;
 parando=true;
}
E em alguma outra parte do jogo coloco parando=false novamente,isso é só um exemplo,mas gostaria de saber se há alguma maneira com menos gambiarra mais fácil de fazer isso. Happy
avatar
Data de inscrição : 10/07/2013
Número de Mensagens : 49
Insígnias de JAM :

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

Re: Como parar ciclo no STEP ?

em Ter 03 Set 2013, 13:11
Não acho que tenha alguma maneira melhor de fazer isso. Mas para ser muito mais eficiente, em vez de usar "and" use apenas um "if not parando". E dentro desse super-if colocar outros "if's", então ficaria assim:

Código:

if parando = false
{
    if x > 300
    {
        nivel += 1
        parando = true
    }
   
    if x <0 //Apenas pra demonstrar :P
    {
        nivel -= 1
        parando = true
    }
}
Então você não iria checar milhões de vezes a mesma coisa. O bom é sempre evitar qualquer tipo de repetição, fica muito mais fácil de mudar o código depois, e também para corrigir bugs, além de que em alguns casos o processamento em si fica mais rápido, como nesse caso.
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

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

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

Re: Como parar ciclo no STEP ?

em Ter 03 Set 2013, 13:16
Você pode usar exit no início do código e ele não será executado até o final. Mas se houver outro "piece of code", você terá que pôr outro "exit" no início dele.

Código:

if parando then exit

if x > 300
{
    nivel += 1
    parando = true
}
      
if x <0 //Apenas pra demonstrar
{
    nivel -= 1
    parando = true
}
Abraços.
avatar
Data de inscrição : 06/03/2013
Número de Mensagens : 81
Insígnias de JAM :

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

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

Re: Como parar ciclo no STEP ?

em Ter 03 Set 2013, 13:51
O que eu queria na verdade é checar alguma condição continuamente, mas após essa condição ser verdadeira (ou o que seja) acontecer o que for pedido apenas uma vez, e não continuamente.Mas obrigado aos dois pelas dicas xD
avatar
Data de inscrição : 10/07/2013
Número de Mensagens : 49
Insígnias de JAM :

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

Re: Como parar ciclo no STEP ?

em Ter 03 Set 2013, 13:55
@mleoni escreveu:O que eu queria na verdade é checar alguma condição continuamente, mas após essa condição ser verdadeira (ou o que seja) acontecer o que for pedido apenas uma vez, e não continuamente.Mas obrigado aos dois pelas dicas xD
Nesse caso é só colocar o "parando = true" no final do código, e não dentro dos if's.

Código:

if parando = false
{
    if x > 300
    {
        nivel += 1
    }
    
    if x <0 //Apenas pra demonstrar
    {
        nivel -= 1
    }
    
    parando = true
    
}
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

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

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

Re: Como parar ciclo no STEP ?

em Ter 03 Set 2013, 13:58

Talvez você queira experimentar o evento Trigger. Você coloca uma condição por código e ela só vai "acontecer" quando o retorno da condição for verdadeiro (como se fosse um script).

O código é escrito numa janelinha separada, então é bom você dar uma olhadinha num tutorial antes, mas é bem fácil! Acho que tem tutoriais no fórum...

---Edit---

Aqui:
http://gmbr.forumeiros.com/t19460-duvidatrigger?highlight=trigger


Abraços.
avatar
Data de inscrição : 06/03/2013
Número de Mensagens : 81
Insígnias de JAM :

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

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

Re: Como parar ciclo no STEP ?

em Ter 03 Set 2013, 15:57
Nunca experimentei esse trigger,vou ver como é,vlw aí.
mZiL,na verdade é mais ou menos assim q eu uso,só queria saber um jeito sem essas gambiarras dessa variável "parando",mas valeu as dicas.
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