Ir para conteúdo

POWERED BY:

Arquivado

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

g.rempel

[Resolvido] Para execução de funções

Recommended Posts

olá, estou com uma dúvida na qual não encontrei solução ainda, tenho 3 esquemas de funções em actionscript, sendo que uma é para quando passo o mouse por cima de um link, outra para quando tiro o mouse por cima de um link e outra para quando clico no link, o problema é que ao clicar a função de tirar o mouse de cima do link é executada também e não preciso que isso aconteça, ou seja: ao clicar no link quero que não execute mais nada do que conter meu código. Abaixo deixo as funções:

 

 

CODE
//ao clicar executa as funções abaixo

link_1_caixa_transparente.onRelease = function (){

 

link_1_caixa_branca.onEnterFrame = function (){

 

link_1_caixa_branca._yscale = 100 + (link_1_caixa_branca._yscale - 100)/1.7

link_1_texto._y = 268 + (link_1_texto._y - 268)/1.2

cor = new Color(link_1_texto)

cor.setRGB(0x000000)

//criar função que blqueia o resto das funções abaixo

}

 

}

 

//ao passar o mouse por cima executa as funções abaixo

link_1_caixa_transparente.onRollOver = function (){

 

link_1_caixa_branca.onEnterFrame = function (){

 

link_1_caixa_branca._yscale = 100 + (link_1_caixa_branca._yscale - 100)/1.7

link_1_texto._y = 268 + (link_1_texto._y - 268)/1.2

cor = new Color(link_1_texto)

cor.setRGB(0x000000)

 

}

 

}

 

//ao passar o mouse por fora executa as funções abaixo

link_1_caixa_transparente.onRollOut = function (){

 

link_1_caixa_branca.onEnterFrame = function (){

 

link_1_caixa_branca._yscale = 0 + (link_1_caixa_branca._yscale - 0)/1.7

link_1_texto._y = 287.5 + (link_1_texto._y - 287.5)/1.2

cor = new Color(link_1_texto)

cor.setRGB(0xffffff)

 

}

 

}

 

 

espero que alguém possa me ajudar, pois necessito terminar isto o quanto antes! Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar uma variável e setá-la como true quando fizer o rollOver. No release você seta a variável como false. Aí, no rollOut você verifica se ela é true para executar a função. Ou seja, só executa o rollOut se o mouse passou sobre o link (variável = true no rollOver) mas não houve o Release (no release a variável é setada como false).

 

Pode haver outra maneira de fazer, mas essa já resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certo sim, mas quando eu passo o mouse sobre o link novamente ele faz tudo denovo!

 

 

olha só como ficou!

 

 

 

link_1_caixa_branca._yscale = 0

link_1_texto._y = 287.5

 

//ao clicar executa as funções abaixo

link_1_caixa_transparente.onRelease = function (){

 

link_1_caixa_branca.onEnterFrame = function (){

 

link_1_caixa_branca._yscale = 100 + (link_1_caixa_branca._yscale - 100)/1.7

link_1_texto._y = 268 + (link_1_texto._y - 268)/1.2

cor = new Color(link_1_texto)

cor.setRGB(0x000000)

//criar função que blqueia o resto das funções abaixo

links = false

}

 

}

 

//ao passar o mouse por cima executa as funções abaixo

link_1_caixa_transparente.onRollOver = function (){

 

link_1_caixa_branca.onEnterFrame = function (){

 

link_1_caixa_branca._yscale = 100 + (link_1_caixa_branca._yscale - 100)/1.7

link_1_texto._y = 268 + (link_1_texto._y - 268)/1.2

cor = new Color(link_1_texto)

cor.setRGB(0x000000)

links = true

 

}

 

}

 

//ao passar o mouse por fora executa as funções abaixo

link_1_caixa_transparente.onRollOut = function (){

 

if (links == true){

 

link_1_caixa_branca.onEnterFrame = function (){

 

link_1_caixa_branca._yscale = 0 + (link_1_caixa_branca._yscale - 0)/1.7

link_1_texto._y = 287.5 + (link_1_texto._y - 287.5)/1.2

cor = new Color(link_1_texto)

cor.setRGB(0xffffff)

 

}

 

}

 

}

 

 

ajuda aé!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

MAs não era isso que você queria?? Se você colocou uma função no rollOver ele vai realizar todas as vezes que o rollOver acontecer. É isso que seu código manda fazer. Se você só quer que a função do rollOver aconteça uma única vez, sete outra variável, antes de definir o rollOver, e no código do rollOver faça a comparação pra ver se o valor da variável é o inicial, se for: realiza a função e muda o valor da variável. Assim ele não realiza de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

MAs não era isso que você queria?? Se você colocou uma função no rollOver ele vai realizar todas as vezes que o rollOver acontecer. É isso que seu código manda fazer. Se você só quer que a função do rollOver aconteça uma única vez, sete outra variável, antes de definir o rollOver, e no código do rollOver faça a comparação pra ver se o valor da variável é o inicial, se for: realiza a função e muda o valor da variável. Assim ele não realiza de novo.

este problema consegui resolver e ficou certinho, obrigado por me dar uma luz. apartir do esquema de variáveis pensei melhor e bolei um esquema de verificações que rodou perfeitinho!!!

 

Obrigado!

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.