Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabi0cerqueira

[Resolvido]Problemas com onRollOver, Array e For

Recommended Posts

Olá a todos,

 

Gostaria de fazer com que enquanto o mouse esteja sobre o btn_sobe o bloco_mc ande 5pxs na posição Y, criei o codigo abaixo e não esta funcionando, alguem pode me ajudar?

 

btn_sobe.onRollOver = function(){

var qtd2:Array = new Array;

for(var i:Number = 5; i<100; i++){

bloco_mc._y = bloco_mc._y + qtd2;

}

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Fábio,

 

Para animação não é legal você usar o for porque seu loop é muito rápido e você não conseguirá ver seu movieclip caminhando pela tela, é bem provável que só veja nna última posição, para que você faça com animação, você deve usar ou o setInterval ou o onEnterFrame, eu prefiro o onEnterFrame porque ele vai executar na mesma velocidade do fps do seu fla. No caso você criou um array desnecessário, e quando criar um array use o () no final, por exemplo var qtd2: Array = new Array(); . No seu caso o Array está vazio, não contem informação nenhuma, então se você for procurar pelo qtd2[0] até qtd2[100] ele não mostrará nada mesmo e seu script não fará o bloco se mover, o ideal mesmo é fazer um onEnterFrame e mandar o bloco andar de 5 em 5px como no exemplo:

 

btn_sobe.onRollOver = function(){
   bloco_mc.onEnterFrame = function(){
      this._y += 5;
   }
}
// para parar
btn_sobe.onRollOut = btn_sobe.onReleaseOutside = function(){
   delete bloco_mc.onEnterFrame;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw Fera!

 

Esta perfeito!

 

 

 

 

 

 

Oi Fábio,

 

Para animação não é legal você usar o for porque seu loop é muito rápido e você não conseguirá ver seu movieclip caminhando pela tela, é bem provável que só veja nna última posição, para que você faça com animação, você deve usar ou o setInterval ou o onEnterFrame, eu prefiro o onEnterFrame porque ele vai executar na mesma velocidade do fps do seu fla. No caso você criou um array desnecessário, e quando criar um array use o () no final, por exemplo var qtd2: Array = new Array(); . No seu caso o Array está vazio, não contem informação nenhuma, então se você for procurar pelo qtd2[0] até qtd2[100] ele não mostrará nada mesmo e seu script não fará o bloco se mover, o ideal mesmo é fazer um onEnterFrame e mandar o bloco andar de 5 em 5px como no exemplo:

 

btn_sobe.onRollOver = function(){
   bloco_mc.onEnterFrame = function(){
      this._y += 5;
   }
}
// para parar
btn_sobe.onRollOut = btn_sobe.onReleaseOutside = function(){
   delete bloco_mc.onEnterFrame;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.