Ir para conteúdo

POWERED BY:

Arquivado

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

Leo Carvalho

[Resolvido] Prelader

Recommended Posts

Bom dia senhores,

 

Estou com 2 questões quanto a um preloader. Preciso fazer com que ele mostre a porcentagem apenas de 10 em 10% e que a cada porcentagem dessa, dispare uma ação, que no caso seria um Tween.

Dei umas pesquisadas mas não consegui resolver.

 

Estou trabalhando com AS 2. Segue o código:

 

///////////// ROOT LOADING
var _loader    :    MovieClip                =    this.createEmptyMovieClip("loader", this.getNextHighestDepth());
_loader.onEnterFrame                    =    function():Void {
    var picLoaded    :    Number                =    _root.getBytesLoaded();
    var picBytes    :    Number                 =    _root.getBytesTotal();
    var percent        :     Number                =    Math.floor((picLoaded / picBytes) * 100);
    if (percent == 100) {       
        LoadMain();
        delete _loader.onEnterFrame;
        trace("loadMain()")
    } 
    
    
}

 /////////////  MAIN LOADING
LoadMain                                =    function():Void {
    trace("main load");

    var _mcLoader    :    MovieClipLoader     = new MovieClipLoader(); 
    _mcLoader.addListener(_mainLoader); 
    _mcLoader.loadClip("main.swf", _swf); 
    
    _swf._flashLoaded                        =    false;

}
_mainLoader.onLoadInit                     = function(target_mc:MovieClip) { }

_mainLoader.onLoadProgress                 = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
    trace((bytesLoaded / bytesTotal) * 100 + "%");
    _percent = Math.floor((bytesLoaded / bytesTotal) * 100);

    loaderTxt.txt.text    =    _percent + "%";

}

_mainLoader.onLoadComplete                 = function() {
    _swf._flashLoaded                        =    true;

    Tweener.addTween(loaderTxt, { _y: 2000, time: 0.8,  transition:"easeInOutQuad" } );
    Tweener.addTween(bg, { _y: 2000, time: 0.8,  transition:"easeInOutQuad" } );
    
}

Se alguem puder ajudar quanto a isso, fico grato! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá rapaz,

 

Talvez se você criar um contador resolva, faça algo assim:

 

$cont = 0;

//function preloader...

 if (pocentagem >= $cont){
 $cont = $cont+10;
 função a executar
 }

//fim function...

Para executar uma função crie um array com o nome da função

var array:Array = new Array(funcao1, funcao2, funcao3....);

$contf = 0;
if (pocentagem >= $cont){
 $cont = $cont+10;
 array[$contf];
 $contf++;
 
}

Bom não testei nada disto, é apenas uma ideia de como fazer.

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá rapaz,

 

Talvez se você criar um contador resolva, faça algo assim:

 

...

Bom não testei nada disto, é apenas uma ideia de como fazer.

Abraço

 

Obrigado pela dica Luiz Henrique,

 

Farei o teste mais tarde e retorno com um feedback.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Apenas dando um feedback como prometido e que possa ajudar alguém com mesmo problema.

 

A questão da porcentagem basta o seguinte no onLoadProgress:

if (!(Math.ceil(_percent)%10)) loaderMc.txt.text = _percent + "%";

O lance de mandar uma função a cada porcentagem foi descartado por parte do cliente.

 

Obrigado novamente Luiz Henrique.

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.