Ir para conteúdo

POWERED BY:

Arquivado

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

matheusmarson

Barra de Rolagem

Recommended Posts

Senhores

 

Alguém saberia me dizer como eu posso fazer uma barra de rolagem que quando o usuário deixar i mouse em cima das setas de navegação o conteúdo já comece a rolar? Ou seja, não teria a necessidade de ficar dando cliques nas setas para o conteúdo de movimentar

tentei com o rollOver mas só consegui fazer mover se o mouse for para fora da seta e depois voltar

Alguém sabe fazer isso?

 

grato

 

Matheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao tenta fazer uma gambiarra?

 

aumenta a velocidade, cria um movieclip no botao, de 2 frames identicos. um com o action outro sem.... e nao poe stop!

dai ele vai ficar rodando e fazendo o efeito que voce quer....

 

 

nao é o mais certo, mas deve funcionar....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, antes de mais nada lhe explicarei com ActionScript 2.0.

 

Para identicarmos quando há um evento podemos usar os Listeners. Como não os uso e não tenho prática com eles vou mostrá-lo como eu faço para identificar um evento constantemente.

 

Primeiramente, um modo de você identificar uma ação em "tempo real" é executá-la em todos os frames, ou seja, através do evento "onEnterFrame".

 

Se eu entendi bem o que você quer é quer é que o contéudo "ande" enquanto a seta do mouse estiver posicionada em cima da flecha de navegação.

 

Num primeiro momento você vai precisar do auxílio de duas varíaveis que se comportem como flags.

 

Obs.: Variáveis flags são variáveis que se comportam como identificadoras de uma ação, ou seja, quando uma ação esta acontecendo ou não. Isso pode ser feito através de números como 1 e 0 ou palavras como TRUE(verdadeiro) e FALSE(falso).

 

Uma dessas variáveis dirá quando a seta do mouse está em cima do flecha de navegação que aponta para baixo:

 

var setaNaFlechaDeBaixo:Boolean = false; //Declare-á no primeiro frame do seu projeto, se conveniente.

 

A outra variável dirá quando a seta do mouse está em cima da flecha de navegação que aponta para cima:

 

var setaNaFlechaDeCima:Boolean = false;

 

Agora vamos para o segundo passo. Já sabemos que essas variáveis irão te dizer quando a seta está em cima da flecha( TRUE) e quando não está em cima da flecha (FALSE).

 

Para identificarmos constantemente a seta do mouse em cima da flecha de navegação nós iremos utilizar a função 'onEnterFrame'. Como dito anteriormente, esta função ocorre em tempo real pois, a cada frame executado dentro do frame atual, está função será lida novamente.

 

Agora vamos fazer umas suposições. Vamos supor que o contéudo que você quer mover na tela seja um "MovieClip" chamado "conteudoPagina". Dessa forma, quando você quiser fazer o conteúdo subir ou descer na tela você usaria a seguinte sentença:

 

conteudoPagina._y = conteudoPagina._y + 1; //faz o conteudo descer 1 de distância

conteudoPagina._y = conteudoPagina._y - 1; //faz o conteudo subir 1 de distância

 

Por último, vamos upor que seus MovieClips dos botões de navegação são chamados de "btnDesce" e "btnSobe".

 

Agora preste atenção, o seu objetivo é saber quando a seta do mouse está em cima destes botões, logo, você usará um simples "onRollOver" e "onRollOut":

 

btnDesce.onRollOver = function()

{

setaNaFlechaDeBaixo = true; //A Flag indicará que a seta está em cima na flecha de baixo.

}

btnDesce.onRollOut = function()

{

setaNaFlechaDeBaixo = false; //A Flag indicará que a seta não está mais em cima da flecha de baixo.

}

 

btnSobe.onRollOver = function()

{

setaNaFlechaDeCima = true; //Mesma coisa que as funções de cima

}

btnSobe.onRollOut = function()

{

setaNaFlechaDeCima = false;

}

 

Note que estas funções acima mudarão os valores das Flags. Sendo assim, quando a seta está em cima as flags elas indicam como TRUE e, quando as setas não estão em cima, as flags indicam como FALSE;

 

Agora iremos fazer o usdo destas variáveis dentro da função "onEnterFrame":

 

conteudoPagina.onEnterFrame = function()

{

if (setaNaFlechaDeCima == true)

conteudoPagina._y = conteudoPagina._y - 1; //Subir a pagina

 

if (setaNaFlechaDeBaixo == true)

conteudoPagina._y = conteudoPagina._y + 1; //Descer a pagina

}

 

A função acima fará com que, a cada frame do flash lido, a pagina desça ou suba (desde que a seta esteja em cima de uma das flechas de navegação).

 

Obs.: Esta leitura é feita por segundo, logo, se o seu aplicativo flash esta programado para 20 fps (Frames per second - quadros por segundo) esta função será lida 20 vezes por segundo.

 

Num contexto geral, você pode acelerar ou diminuir a velocidade de rolagem da página alterando a soma ou subtração.

 

Por exemplo: conteudoPagina._y = conteudoPagina._y - 1; //Sobe a pagina 1 de distância a cada frame.

Por Exemplo(2):conteudoPagina._y = conteudoPagina._y - 5; //Sobe a página 5 de distância a cada frame.

 

Se estiver com dúvida mande um PM e postarei um aplicativo simples de exemplo e um link para download. Assim que eu tiver tempo montarei um exemplo se precisar.

 

Até mais,

 

Thiago Leal.

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.