Muito simples como pergunta sobre desbotamentos e desbotamentos
-
19-09-2019 - |
Pergunta
Pergunta muito simples. Dê uma olhada no código abaixo. É um carregador muito simples com uma barra de progresso. A barra de progresso é um símbolo no palco chamado "bar".
Tudo o que eu quero é desaparecer da barra quando terminar de carregar e desaparecer na imagem que carrega. Eu tentei várias abordagens sem muita sorte.
var loader: Loader = new Loader();
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
function completeHandler(evt:Event):void {
};
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
function progressHandler(evt:ProgressEvent):void {
var percent: int = Math.round(evt.bytesLoaded/ evt.bytesTotal * 100);
bar.width = percent;
};
var req:URLRequest = new URLRequest("encs1.jpg");
loader.load(req);
Agradecemos antecipadamente a quem pode me dar indicadores!
Solução
Experimente uma dessas bibliotecas. O Flash possui uma biblioteca embutida para interpolação, fl.Transitions.Tele, mas não é tão agradável quanto estes. Todos os três mencionados também têm uma API muito semelhante.
Para o seu exemplo, você faria isso (com Tweener):
function completeHandler(evt:Event):void {
Tweener.addTween(bar, {alpha:0, transtion:"easeOutQuad", time:.5});
addChild(loader.content);
loader.content.alpha = 0;
Tweener.addTween(loader.content, {alpha:1, transition:"easeInOutQunit", time:.5, delay:.5});
};
Isso interpõe a barra para Alpha 0 levando 0,5 segundos, entre o conteúdo do carregador (a imagem) para alfa 1, levando 0,5 segundos, após um atraso de 0,5 segundos, para que a barra desapareça e imediatamente a imagem desaparece.
Outras dicas
Eu realmente não faço muito desenvolvimento flash, mas um colega meu adora o gtween por uma animação simples.
http://www.gskinner.com/libraries/gtwen/
Se você verificar as demos, verá que poderá fazer algumas coisas avançadas, mas deve ser muito simples fazer o desbotamento básico também. Abaixo está um exemplo de animação básica, defina o vars de item.
new GTween(itemToTween, secondsToAnimate, { alpha: 1 }, { ease:Sine.easeOut } );
Espero que isso ajude você um pouco até que alguém com mais conhecimento possa ajudar.