F-gos 0 Denunciar post Postado Fevereiro 25, 2009 Pessoal estou criando um projeto de site aqui... onde o menu fica no meio da tela, e se clica no botão design a tela vai para baixo. Se clica em sustentavel a tela vai para cima.. certo Utilizei a classe tween para fazer esse movimento e para os dois botoes usei como posição inicial essa posição centrada. Mas como fazer com que na hora que a tela estiver la em cima o botão de design pegue a posição inicial da tela (em cima) e quando a tela estiver em baixo ele pegue a posição de base da tela e quando estiver no meio tbm... acessem o link e vejam o projeto: site Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Fevereiro 26, 2009 Quando você clica no menu, os objetos mudam de posição, a sugestão é, em vez de utilizar um valor fixo no seu tween (posição centrada), pegue sempre a posição atual de algum objeto, talvez o próprio menu que sirva como referência. Abs. Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Fevereiro 27, 2009 Public2004 Cara é isso mesmo que estava pensando.... mas e ai como eu faria para ele pegar a posição atual do objeto? usaria variaveis?? Poderia me explicar melhor! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Fevereiro 27, 2009 não sei se eu entendi bem, mas não seria apenas isso: var atual = objeto._x pronto, você tem a posição atual do menu []´s Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Fevereiro 27, 2009 Fala eder. veja oq acha!! //Montei a variavel: var atual = _root.centro._y ; //a action do botão esta assim: stop(); import mx.transitions.Tween; import mx.transitions.easing.*; bot_design.onRelease = function(){ // descer a tela var ce:Tween = new Tween(_root.centro,"_y", Back.easeInOut,atual,atual+50,1,true); gotoAndStop(2); }; //no frame 2 assim: bot_design.onRelease = function(){ //sobre a tela var ce2:Tween = new Tween(_root.centro,"_y", Back.easeInOut,atual+50,atual,1,true); gotoAndStop(1); }; até aqui OK. mas quando volta para o frame 1 e clica novamente no botão ele acrescenta o valor de +50 na variavel atual. oq esta errado??? veja o exemplo Compartilhar este post Link para o post Compartilhar em outros sites
Freelife 2 Denunciar post Postado Fevereiro 28, 2009 Oi... eu testei alguma coisa aqui... você tentou fixar o "_y" no primeiro frame? Talvez de certo. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Fevereiro 28, 2009 Seu cód. ficou meio estranho... A lógica do Tween é a seguinte: Para a animação do MC, você define a posição inicial e final, sendo que no seu caso a posição inicial será sempre a posição atual do MC (_root.centro._y) - A final terá valor fixo, mas a inicial será variável, então será necessário a cada animação, recuperar a posição atual do MC e indicar o valor final. Veja um exemplo simples de como ficaria para a sua situação: Criar uma função única para o Tween, e alterar nas ações dos botões apenas o valor final da animação: stop(); // Importamos as classes import mx.transitions.Tween; import mx.transitions.easing.*; // Criamos a função do movimento movement = function(fim:Number){ var ce:Tween = new Tween(_root.centro, "_y", Back.easeInOut, _root.centro._y, fim, 1, true); } // Nas ações dos botões, chamamos a função acima e definimos a posição final do movimento em "_y" botao1.onRelease = function (){ movement(350); }; botao2.onRelease = function (){ movement(150); }; //etc... para os outros botões... Dessa forma, a cada clique em um dos botões para iniciar a animação, será recuperado sempre a posição atual do MC e animado até a posição "_y" definida Abs. Compartilhar este post Link para o post Compartilhar em outros sites