sonomaster 0 Denunciar post Postado Dezembro 13, 2004 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
Chan 0 Denunciar post Postado Dezembro 13, 2004 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
sonomaster 0 Denunciar post Postado Dezembro 13, 2004 Legal mesmo, bem melhor,será q você pode me explicar a lógica desse código? Sem querer abusar.. heheValeu! Compartilhar este post Link para o post Compartilhar em outros sites
Chan 0 Denunciar post Postado Dezembro 13, 2004 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
sonomaster 0 Denunciar post Postado Dezembro 13, 2004 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
Chan 0 Denunciar post Postado Dezembro 13, 2004 tente fazer tudo por actionscriptprocure por setMask, pode te ajudar Compartilhar este post Link para o post Compartilhar em outros sites
sonomaster 0 Denunciar post Postado Dezembro 14, 2004 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Aí Chan, Show de bola... muito silples trabalhar com setMask. dexa eu acabar que eu posto... valeu memo mano Compartilhar este post Link para o post Compartilhar em outros sites
Chan 0 Denunciar post Postado Dezembro 14, 2004 flw :D Compartilhar este post Link para o post Compartilhar em outros sites