Ir para conteúdo

POWERED BY:

Arquivado

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

andrea cerqueira

Botão faz mc se arrastar determinada área

Recommended Posts

Estou usando este código pra fazer uma barra de rolagem pra que anda de 620 em 620 pixel, pra frente e pra trás.botão de volta:on (release) { if(_root.menu_todo.c_menu._x < 770){ _root.menu_todo.c_menu._x += 620; }}botão de ida:on(release){ if(_root.menu_todo.c_menu._x >= (_root.menu_todo.c_menu._width - _root.menu_todo.c_menu.bg._width) * (-1)){ _root.menu_todo.c_menu._x -= 620; }}ele funciona porem não para de quando termina o botão de ia, vai sempre uma a mais, no botão de volta funciona direito, e no de ida vai só uma a mais, alguém sabe me dizer pq?ahhh bg é uma imagem de 620 pixel de largura ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fato: teu if ta retornando falso...

 

if(_root.menu_todo.c_menu._x >= (_root.menu_todo.c_menu._width - _root.menu_todo.c_menu.bg._width) * (-1)){_root.menu_todo.c_menu._x -= 620;}

Tenta fazer assim, coloca uns trace pra ver os valores se batem....

tipo assim:

 

trace(_root.menu_todo.c_menu._x+">="+int((_root.menu_todo.c_menu._width - _root.menu_todo.c_menu.bg._width) * (-1)));

Se o output der 619 >= 620, quer dizer que tem algum problema com a posição atual da foto... acontece algumas vezes se a foto está na posição 0.1 a tela ou algo do gênero....

 

Dá uma olhada nesses detalhezinhos..

 

Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andréa, da um trace do _x do seu mc no palco, nem sempre o x que esta na caixinha é o _x que ele esta no palco, ele vai pegar como base o ponto zero do mc e não a posição dele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer assim, coloca uns trace pra ver os valores se batem....

tipo assim:

 

trace(_root.menu_todo.c_menu._x+">="+int((_root.menu_todo.c_menu._width - _root.menu_todo.c_menu.bg._width) * (-1)));
885>=-1586

 

não entendi esse 885, o 1586 é o tamanho total do c_menu que só mostra de 620 em 620 pois tem uma mascara tapando, masos 885 do _x eu não entendi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se usando o trace apareceu isso, quer dizer que a posição _x do _root.menu_todo.c_menu está em 885.No teu If você usa isso:_root.menu_todo.c_menu._width - _root.menu_todo.c_menu.bg._widthSubtrai da largura total do c_menu a largura do bg, que está dentro do c_menu.Se 1586 é a largura do c_menu, não tá pegando o valor do bg para fazer essa subtração.A julgar que o botão funciona só mais uma vez no final, é possível que o problema seja ai, pois seria a diferença que a ultima tela faria na conta do IF.Dá uma olhadinha ai...Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se usando o trace apareceu isso, quer dizer que a posição _x do _root.menu_todo.c_menu está em 885.

 

No teu If você usa isso:

 

_root.menu_todo.c_menu._width - _root.menu_todo.c_menu.bg._width

 

Subtrai da largura total do c_menu a largura do bg, que está dentro do c_menu.

Se 1586 é a largura do c_menu, não tá pegando o valor do bg para fazer essa subtração.

 

A julgar que o botão funciona só mais uma vez no final, é possível que o problema seja ai, pois seria a diferença que a ultima tela faria na conta do IF.

 

Dá uma olhadinha ai...

 

Falows

Não sei mais como testar :)

Tá difícil o raciocínio, bom se eu substituir _root.menu_todo.c_menu.bg._width por isso 620 dá no mesmo não dá? Pelo menos não fez diferença alguma, tentei posicionar os mcs de forma centralizada, daí ele vai uma a mais pra frente e uma a mais pra tras, posicionado na esquerda acontece o que já falei, na direita não lembro bem, mas não deu certo :D

Mudei o valor da subtração por vários e não alterou nada.

Mais alguma dica? :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só coloca a máscara porque eu tirei por não ter a font:http://www.carneirinho.com/menu_andrea.zipabraço

Oi Carneirinho, valeu pela ajuda, só uma coisa que não está funcionando e não consegui resolver na alteração que você fez, repare que na primeira vez que você clica na seta pra direita não funciona, só funciona depois que você vai pra esquerda. :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, ele não anda porque não tem o porque ele andar, pois os botões já estão exibidos na tela, senão ele vai andar e vai ficar um espaço branco, só faz uma coisa, no on(release) troca por on(release, releaseOutside)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, ele não anda porque não tem o porque ele andar, pois os botões já estão exibidos na tela, senão ele vai andar e vai ficar um espaço branco, só faz uma coisa, no on(release) troca por on(release, releaseOutside)

Cara eu sou muito lesada viajei completamente, foi mal :)É o sono :) Valeu mais uma vez pela ajuda.

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.