Ir para conteúdo

POWERED BY:

Arquivado

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

F-gos

como resolver?

Recommended Posts

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.