Ir para conteúdo

POWERED BY:

Arquivado

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

rbata

função while

Recommended Posts

To com um problema.... to aprendendo agora a usar AS no Flash....

 

Tenho um site com um MC que contém todos os textos e fotos, esse MC é instanciado conteudo.Além disso, o site tem dois botões instanciados up e dn que fazem a rolagem do conteudo pra cima e pra baixo.

 

Código do botão dn.

 

on (rollOver) {

new mx.transitions.Tween(dn, "_alpha", mx.transitions.easing.Strong.easeOut , 20, 100, 1, true);

}

on (rollOut) {

new mx.transitions.Tween(dn, "_alpha", mx.transitions.easing.Strong.easeOut , 100, 20, 1, true);

}

on (press) {

pos += -137;

new mx.transitions.Tween(conteudo, "_y", mx.transitions.easing.Regular.easeOut , conteudo._y, pos, 30, false);

}

No rollOver, o botão escurece. No rollOut o botão fica claro novamente. E quando pressionado, ele joga o mc conteudo x pixels pra cima, funciona como uma barra de rolagem movimentando o conteúdo de um site.

 

Código do botão up.

 

on (rollOver) {

new mx.transitions.Tween(up, "_alpha", mx.transitions.easing.Strong.easeOut , 20, 100, 1, true);

}

on (rollOut) {

new mx.transitions.Tween(up, "_alpha", mx.transitions.easing.Strong.easeOut , 100, 20, 1, true);

}

on (press) {

pos += 137;

new mx.transitions.Tween(conteudo, "_y", mx.transitions.easing.Regular.easeOut , conteudo._y, pos, 30, false);

}

No rollOver, o botão escurece. No rollOut o botão fica claro novamente. E quando pressionado, ele joga o mc conteudo x pixels pra baixo, funciona como uma barra de rolagem movimentando o conteúdo de um site.

 

Dá uma olhada no swf: http://paginas.terra.com.br/lazer/rbata/produtos.swf (botão do lado direito, salvar destino como)

 

O problema é que esse movimento precisa ser limitado. O botão up só pode funcionar quando conteudo._y for maior que 0 (diferente de 0 também funciona) . E o botão dn só pode funcionar quando o conteudo._y for menor que 274 (diferente de 274 também funciona).

 

Teria que usar a função while, certo? Já tentei de diversas maneiras usar o while mas sempre dá uns erros.

 

Código do botão up para limitar o movimento do mc conteudo:

 

while (conteudo._y != 0) {

on (rollOver) {

new mx.transitions.Tween(up, "_alpha", mx.transitions.easing.Strong.easeOut , 20, 100, 1, true);

}

on (rollOut) {

new mx.transitions.Tween(up, "_alpha", mx.transitions.easing.Strong.easeOut , 100, 20, 1, true);

}

on (press) {

pos += 137;

new mx.transitions.Tween(conteudo, "_y", mx.transitions.easing.Regular.easeOut , conteudo._y, pos, 30, false);

}

}

Não só isso???? Aqui não funciona..... dá uma mensagem de erro.....

 

Flw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:No botão up

on (press) {if(conteudo._y >= 0){pos += 137;new mx.transitions.Tween(conteudo, "_y", mx.transitions.easing.Regular.easeOut , conteudo._y, pos, 30, false);}}

E o mesmo esquema pro botão down.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pela ajuda... agora eu consegui dar um jeito aqui.... só estou pensando numa condição melhor porque essa do maior ou igual não tá funcionando legal.....

 

Acho que o segredo era colocar o while ou o if dentro do on (qualquercoisa)???? Por isso não funcionava....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente, as actions quando colocadas em botões ou movie clips tem q estar dentro dos Eventos, eles que indicam quando a ação será executada, sem evento não dá. :D

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.