Ir para conteúdo

POWERED BY:

Arquivado

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

sonomaster

Movimento simples em ActionScript

Recommended Posts

Fala Galera!

 

Minha dúvida é simples... Como posso mover um circulo por exemplo de um ponto 0 por exemplo até o ponto 200 usando ActionScript ?

Uma das maneiras que tenho usado é essa:

import mx.effects.Tween;import mx.transitions.easing.*;function anima(mc,ini,fim,tpo){var oListAnima = new Object();var animacao = new Tween(oListAnima, ini, fim, tpo);oListAnima.onTweenUpdate = function(posicao:Number):Void{  mc._x = posicao;};oListAnima.onTweenEnd = function(){ }; }
Quando quero mudar o tamanho e não movimentar, eu só mudo a propriedade de _x para _xscale.

Mas é muito impreciso.

Tem outro jeito?

 

VALEU GALERA!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho mais simples fazer direto, sem importar classe

 

circulo._x = 0this.onEnterFrame = function () {    circulo._x = 200 + (circulo._x - 200)/1.2    if (circulo._x > 199)    {        circulo._x = 200        delete this.onEnterFrame    }}

Compartilhar este post


Link para o post
Compartilhar em outros sites

circulo._x = 0this.onEnterFrame = function () {   circulo._x = 200 + (circulo._x - 200)/1.2   if (circulo._x > 199)   {       circulo._x = 200       delete this.onEnterFrame   }}

circulo._x = 0 // coloca o movieclip "circulo" na posição 0 no eixo "x"

 

this.onEnterFrame = function () { /* cria um thread, uma linha de processamento paralelo, que vai executar um bloco de códigos na mesma taxa de frames do filme...ou seja, se seu filme tiver 24 fps, esses códigos serão executados 24x por segundo*/

 

circulo._x = 200 + (circulo._x - 200)/1.2 /* um algorítmo muito simples de movimentação com easingOut (desaceleração)...

 

if (circulo._x > 199) /* como no final da execução ele andará muito pouco no eixo "x", é interessante fazermos uma "gambiarra"....quando chegar ao 199, ele pula um pixel (que é praticamente imperceptivel ao olho humano)*/

 

delete this.onEnterFrame /* apaga o processamento paralelo....evita que deixe esse bloco de codigos fique sendo executado, deixando o processador sobrecarregado e deixando o filme lento...*/

 

} // encerra o if

} // e a função do evento enterframe...

 

qualquer duvida postae

abraço

Chan

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi cara.. esclareceu pacas memo esse lance de enterframe... Eu só to tendo problemas pra usar as animações em actionScript como máscara.Eu queria fazer algo do tipo www.embraer.com.brAlgo do tipo... não precisa ser tão fiel, o problema é que não consigo trabalhar com ActionScript e Mascara juntos. A animação funciona perfeitamente mas quando transformo o Layer em Mask... já era, não aparece nada.Se souber de algo, avisa aívaleu memo cara... (Se tudo der certo depois eu posto o resultado final)Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente fazer tudo por actionscriptprocure por setMask, pode te ajudar

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.