Elektra 102 Denunciar post Postado Julho 5, 2012 Gostaria que os objetos fossem adicionados ao stage com um pouco de blur, leve resize e da mesma forma suave como são removidos. Semelhante ao exemplo abaixo. Animação 11 >> Clique aqui O que consegui com algumas adaptações de um tutorial: Clique aqui import com.greensock.*; import flash.display.*; import flash.events.*; import flash.ui.*; import flash.utils.*; var myStar:MyStar = new MyStar(); var currentColor:uint = 0xffffff; var colorTime:Timer; var trailTimer:Timer; init(); function moveStar(e:Event): void { myStar.x = Math.random() * stage.stageWidth; myStar.y = Math.random() * stage.stageHeight; } function createStar(e:Event): void { var newStar:MyStar = new MyStar(); newStar.x = myStar.x; newStar.y = myStar.y; var targetX:Number = newStar.x + Math.random() * 110 - 32; var targetY:Number = newStar.y + Math.random() * 110 - 32; addChild(newStar); TweenMax.to(newStar, 3, {alpha:0,x:targetX, y:targetY}); TweenMax.to(newStar, 3, {blurFilter:{blurX:5, blurY:5}, scaleX:.9, scaleY:.9, onComplete:removeStar, onCompleteParams:[newStar]}); } function removeStar(star:MyStar): void { removeChild(star); } function init() { colorTime = new Timer(700, 0); colorTime.start(); trailTimer = new Timer(90, 0); trailTimer.addEventListener(TimerEvent.TIMER, createStar); trailTimer.start(); addEventListener(Event.ENTER_FRAME, moveStar); } Agradeço quem puder auxiliar :grin: Abraços Compartilhar este post Link para o post Compartilhar em outros sites
IAMDIX 10 Denunciar post Postado Julho 5, 2012 Tenho um arquivo de particulas aqui que achei na net...pode ser que tem algo que vai poder utilizar haja visto que vai mecher com varias fisicas // Sistema de partículas por Luciano Augusto da Silva package { import flash.display.*; public class Particulas extends MovieClip { public var velocidadeX:Number; public var velocidadeY:Number; public var gravidade:Number; public var friccao:Number; public var escalaX:Number; public var escalaY:Number; public var fade:Number; public var rotacao:Boolean; public function Particulas() { velocidadeX = 0; velocidadeY = 0; gravidade = 0; friccao = 1; escalaX = 1; escalaY = 1; fade = 1; rotacao = false; } public function atualizador() { velocidadeX *= friccao; velocidadeY *= friccao; velocidadeY += gravidade; this.x += velocidadeX; this.y += velocidadeY; this.scaleX *= escalaX; this.scaleY *= escalaY; this.alpha *= fade; if (rotacao) { this.rotation = Math.atan2(velocidadeY,velocidadeX) * 180 / Math.PI; } } } } no AS3 import Particulas; // Variaveis var pTotal:int=100; var aParticulas:Array=[]; // Registro de Eventos stage.addEventListener(Event.ENTER_FRAME, _anima); // Funções function _anima(e:Event):void { if (aParticulas.length<pTotal) { var bola_mc:Bola = new Bola(); addChild(bola_mc); bola_mc.velocidadeX=Math.random()*10-3; bola_mc.velocidadeY=Math.random()*10-5; bola_mc.gravidade=-0; bola_mc.friccao = 1; bola_mc.escalaX = 1; bola_mc.escalaY = 1; bola_mc.fade = 0.99; bola_mc.rotacao = true; bola_mc.x= stage.stageWidth /1; bola_mc.y= stage.stageHeight /1; aParticulas.push(bola_mc); } for (var i:int = 0; i < aParticulas.length; i++) { //aParticulas[i].filters = [new BlurFilter(10,10,1)]; var particulas:Bola=aParticulas[i]; aParticulas[i].atualizador(); if (particulas.x>stage.stageWidth||particulas.x<0||particulas.y>stage.stageHeight||particulas.y<0 || particulas.alpha < .2) { particulas.velocidadeX=Math.random()*10-5; particulas.velocidadeY=Math.random()*10-5; particulas.x= stage.stageWidth /1; particulas.y= stage.stageHeight /1; particulas.scaleX = particulas.scaleY = 1; particulas.alpha =5; } } } Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Julho 6, 2012 Obrigada IAMDIX, tenho vários templates de particles. O original nem funcionava (Clique aqui), mas com algumas modificações ficou o mais próximo do que desejo. Quero aprender a desenvolver meu próprio code, começar com algo mais simples facilita. Abs Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Julho 6, 2012 Olá Elektra você pode tentar, dentra da função 'removeStar', executar um outro TweenMax.to, para dar um fade na bolinha, e quando esse estiver terminado, ele remove ela algo como isso: function removeStar(star:MyStar): void { TweenMax.to(star, 3, {alpha:0, onComplete:removeCompleteStar, onCompleteParams:[star]}); } function removeCompleteStar(star:MyStar): void { removeChild(star); } não sei o codigo ai vai funcionar, mas a lógica seria éssa []´s Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Julho 6, 2012 Obrigada Eder (tava com saudade). :grin: A bolinha já é removida com fade. O que gostaria é que também fosse adicionada ao stage desta forma suave. No original o objeto tem 10 px e recebe um resize, então não aparece a seco na tela >>Clique aqui O que tenho é adicionado direto, como o objeto é maior fica estranho. Com o 'onComplete' da TweenMax eu me viro, agora 'onCompleteParams:[newStar]' é a primeira vez que tenho contato. Mesmo assim, vou ver o consigo com sua sugestão (tenho quase uma 'tara' por particles, ahahahhh). Quero aprender a criar algo próprio. Abraços Compartilhar este post Link para o post Compartilhar em outros sites