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!

Foi útil?

Solução

Gtween

Tweener

Tweenlite

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.

Folha de dicas para funções de flexibilização

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top