Autor Tópico: [Dúvidas] Flash Developer (parar um incremento)  (Lida 4334 vezes)

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« em: 13 de Maio de 2006, 18:41:51 »
No principio pensei que era facil parar de incrementar uma variavel, mas parece que não é assim.
Tenho um button que ao ser pressionado, chama uma "function" que faz desaparecer um MClip aos poucos com o "setInterval". Até aí tudo bem, mas coloquei uma variavel que é incrementada dentro da "function" e que ao atingir um valor x, faz aparecer um novo MClip. E funciona.
O problema é que ao fazer um trace da variavel incrementada, vejo um valor ao caminhar para o infinito, nunca pára.
Tentei varias maneiras de parar, mas ou o programa não funciona ou torna-o mais lento.

//desaparecer e aparecer novos itens
function fadeout(){
      for (b=0;b<3;b++){
      men[a]._alpha--;
      trace(nvezes);
      nvezes++;
   if (nvezes>120){
      fadein();
      };
   };
};

function fadein(){
   
   for (b=0; b<3; b++){
   men[a1]._alpha++;
   };
};



O button...
on(press, keyPress "<Right>" ){
   a1++;
   var nvezes:Number=0;
   var inter1:Number=setInterval(fadeout,2);
}

Como posso parar o "nvezes" sem que deixe de funcionar?

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Dúvidas] Flash Developer (parar um incremento)
« Responder #1 em: 15 de Maio de 2006, 16:35:17 »
clearInterval(inter1);

assim paras o cyclo

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #2 em: 16 de Maio de 2006, 08:53:25 »
ja tentei isso, ao fazer o clearInterval pára tudo.
Penso que é por o setInterval estar dentro do button e o fadeout chama o fadein, está tudo ligado.
Mas tambem ja tentei fazer com 2 intervalos mas fez alguma coisa que á vista não tem sentido.
Não há outra forma de parar?

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Dúvidas] Flash Developer (parar um incremento)
« Responder #3 em: 16 de Maio de 2006, 13:19:46 »
bem não entendo muito bem... e uma coisa não leves a mal mas para de por codigo en cima dos botões isso é flash 5 não ajuda nada...

on(press, keyPress "<Right>" ){
a1++;
nvezes=0;
inter1=setInterval(fadeout,2);
}

tenta assim... e vé se a variavel nvezes passa a zero

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #4 em: 17 de Maio de 2006, 13:28:30 »
Eu ponho o codigo no button porque não sei como pôr o keyPress na frame.
Se for press...
O button é "bt"..

bt.onPress=function(){

};

Mas, se for keyPress, Right, como ponho?

Em relação ao nvezes e ao inter1 não é preciso definir a variavel?
Se não entenderes diz qualquer coisa.

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Dúvidas] Flash Developer (parar um incremento)
« Responder #5 em: 19 de Maio de 2006, 15:42:25 »
Código: [Seleccione]
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
    trace("DOWN -> Code: "+Key.getCode()+"\tACSII: "+Key.getAscii()+"\tKey: "+chr(Key.getAscii()));
};
keyListener.onKeyUp = function() {
    trace("UP -> Code: "+Key.getCode()+"\tACSII: "+Key.getAscii()+"\tKey: "+chr(Key.getAscii()));
};
Key.addListener(keyListener);


tens que ler um pouco do manual do flash ;)

Offline Grettir

  • Aprendiz
  • **
  • Mensagens: 284
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #6 em: 19 de Maio de 2006, 22:28:00 »
Ehehehe...

o alftuga é tramado.

Mas sem duvida, 100% de razao...

Nada como estudar !!

Bom trabalho
----------------------------------
Ricardo Castelhano aka Grettir

Adobe Certified Professional
Interactive Designer
Flash Developer
PHP Developer

http://www.ricardocastelhano.com/
-----------------------------------
Keep on "Flashing..."

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #7 em: 21 de Maio de 2006, 12:27:49 »
POr acaso fui mais uma vez ver se encontava alguma ciosa e encontrei uma coisa parecida, o metodo é o mesmo.
Há vezes em que tento descobrir a sintaxe pela logica sem procurar, umas vezes consigo, outras nem por isso.
Mas este programazito que tenho andado a fazer acho que é demais pra mim. Já ando desde o principio do mes a tentar superar os mesmos problemas, mas está complicado.
Não é facil explicar o que é..

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #8 em: 21 de Maio de 2006, 12:31:06 »
Como ponho aqui uma imagem para explicar o que é?[/list]

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #9 em: 21 de Maio de 2006, 12:42:07 »

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #10 em: 21 de Maio de 2006, 12:43:14 »
Bem!! finalmente!!!
Não dá para importar uma imagem do meu pc?
Seria mais rapido,..
ok
Então é assim, o aspecto não é o melhor mas penso que dá para perceber.
O meu problema é que meti na cabeça que havia de fazer tudo em actionscript, não demorei muito a pensar em acrescentar umas coisitas e logo comecei a perceber que tudo se complicava.
Pensei então em colocar um efeito de fadeout ao menu visivel naquele momento e um fadein ao menu que chamava.
A primeira vez ainda funcionou (depois de muitas voltas para fazer parar o ciclo do setInterval sem parar todo o programa), mas quando voltava ao menu anterior, tudo se embaralhava e funcionava de uma forma que não estava à espera.
Usei o Array com varias variaveis para guardar os valores das coordenadas para fazer deslocar a barra e  para fazer aparecer e desaparecer os menus pretendidos.
Claro, não sei se é a melhor forma de fazer isto.

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Dúvidas] Flash Developer (parar um incremento)
« Responder #11 em: 22 de Maio de 2006, 11:35:14 »
isso deve ser falta de rigor o nível de declarações de variáveis.
Deves pensar que se voltas o principio tens que mandar parar todos os processos e por todos os parâmetros de inicio.

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #12 em: 22 de Maio de 2006, 13:17:21 »
Pois, o problema é que quando ando para um menu anterior, posso não ir para o inicio.
Imagina um menu com 3 niveis..ou mais.
Se fosse só com 2, penso que seria mais facil.

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Dúvidas] Flash Developer (parar um incremento)
« Responder #13 em: 23 de Maio de 2006, 10:43:32 »
estas a criar uma frame para queda secção do menu?

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Dúvidas] Flash Developer (parar um incremento)
« Responder #14 em: 23 de Maio de 2006, 14:38:41 »
Não sei se percebi o que querias dizer, penso que estás a falar em varias frames, uma para cada menu, por exemplo.
É isso?
Se é isso, talvez seja esse o grande problema.
Queria fazer tudo apenas com uma frame, o resto seria codigo.
Se fizer com varias frames, posso retirar muito codigo e colocar animações, mas não era essa a minha ideia

 




Roleta das Anedotas - Abre noutra janela