Ir para conteúdo

Arquivado

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

Cassio Pires

AS 3.0 posição original de objetos

Recommended Posts

tem alguma forma de voltar os objetos para sua posição original quando clicar em um botão.

é que tenho vários objetos em posições certas, mas eles vão todos se mover e com um click

no botão queria voltar todos ao lugar original sem precisar digitar o numero correto nos pontos x e y.

é q são muitos mesmos.

 

tipo assim

 

btn.addEventListener(MouseEvent.CLICK, lugarinicial);

function lugarinicial(event:MouseEvent):void
{
mc_1.x = 400,00;

mc_1.y = 300,00;

 

mc_2.x = 400,00;
mc_2.y = 300,00;

}

um código para substituir os números que o leve para a posição inicial se existir, ou algo parecido.

agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça uma function que armazena as posições atuais e depois volte para o lugar

stop();

armazenaPos();

function armazenaPos():void
{

 for (var a:int=0; a<quantidadedebotoes; a++)
      {
       //armazena a posição atual na propriedade posX
        this["mc_" + a].posX = this["mc_" + a].x
        this["mc_" + a].posY = this["mc_" + a].y
      }

//é importante só deixar clicar no botão para voltar as posições iniciais depois de armazena-las para evitar erros
btn.addEventListener(MouseEvent.CLICK, voltaPos)

}

function voltaPos(e:MouseEvent):void
{
 for (var a:int=0; a<quantidadedebotoes; a++)
      {
       //volta os movieclips para a posição armazenada anteriormente
        this["mc_" + a].x = this["mc_" + a].posX
        this["mc_" + a].y = this["mc_" + a].posY
      }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

faça uma function que armazena as posições atuais e depois volte para o lugar

stop();

armazenaPos();

function armazenaPos():void
{

 for (var a:int=0; a<quantidadedebotoes; a++)
      {
       //armazena a posição atual na propriedade posX
        this["mc_" + a].posX = this["mc_" + a].x
        this["mc_" + a].posY = this["mc_" + a].y
      }

//é importante só deixar clicar no botão para voltar as posições iniciais depois de armazena-las para evitar erros
btn.addEventListener(MouseEvent.CLICK, voltaPos)

}

function voltaPos(e:MouseEvent):void
{
 for (var a:int=0; a<quantidadedebotoes; a++)
      {
       //volta os movieclips para a posição armazenada anteriormente
        this["mc_" + a].x = this["mc_" + a].posX
        this["mc_" + a].y = this["mc_" + a].posY
      }
}

fiquei com algumas duvidas se puder esclarecer agradeço.

Aonde vc colocou "posX" e "posY", é pra eu definir a posição inicial do objeto?

e nas "quantidadedebotoes" a que se refere?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o posX definido na primeira função vai armazenar no objeto a posição do x que ele esta no momento em que a função é executada, this["mc_" + a].posX = this["mc_" + a].x pega o x atual e armazena na propriedade posX, a quantidadedebotoes são quantos itens você vai mover, você pode fazer 1 por 1 se quiser, assim fica mais dinâmico.

 

a posição do seu movieclip é o x e o y dele, o posX e o posY são só propriedades que vão receber respectivamente o x e o y do objeto, poderia ser qualquer nome ali.

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.