Ir para conteúdo

POWERED BY:

Arquivado

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

SlyX

Preload De Imagem Externa + Php

Recommended Posts

tentei já com varios preloaders q fiz, mas acho que muda algo nas funçoes... (chamar uma funcao dentro de outra funcao)

 

o codigo atual ta assim, por favor quem puder implmentar um loader para as 3 imagens (o nome vem do php que puxa o nome da imagem do banco de dados)

 

ACTIONSCRIPT
var php:LoadVars = new LoadVars();

php.load('novidades.php');

php.onLoad = function(ok) {

        if (ok) {

                stop();

                // carregar: this.image1, this.image2, this.image3

                play();

 

        }

};

 

obrigado, gracias, thank you, merci.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei já com varios preloaders q fiz, mas acho que muda algo nas funçoes... (chamar uma funcao dentro de outra funcao)o codigo atual ta assim, por favor quem puder implmentar um loader para as 3 imagens (o nome vem do php que puxa o nome da imagem do banco de dados)ACTIONSCRIPTvar php:LoadVars = new LoadVars();php.load('novidades.php');php.onLoad = function(ok) { if (ok) { stop(); // carregar: this.image1, this.image2, this.image3 play(); }};obrigado, gracias, thank you, merci.

Então amigo, você pode passar uma variavel com a quantidade de imagens pelo php ou passar as imagens todas em uma string so separaadas por virgula.Vou te dar o exemplo delas separadas por virgula:
var php:LoadVars = new LoadVars();php.load('novidades.php');php.onLoad = function(ok) {		if (ok) {				stop();				carregar (this.stringImages)				play();		}};function [color="#808080"]carregar(st){  var imgs = st.split(",")for(i=1;i<=imgs.length;i++){loadMovieNum(imgs[i-1],i);}[/color]}
Dae você adapta com a sua necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problmea não é carregar a imagem.. o nome "this.imagem" ja diz o nome da imagem (sao apenas 3)o problema é fazer o preloader de imagem externa, não é adaptavel ao codigo quando esta dentro da funcao que chama a variavel do php...

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade, eu poderia resolver meus problemas, se eu conseguisse ler uma variavel fora da funcao..

exemplo:

 

ACTIONSCRIPT
var retorno:LoadVars = new LoadVars();

retorno.load('novidades.php');

retorno.onLoad = function(ok) {

        if (ok) {

                stop();

                imagem1 = this.image1;

                trace(imagem1);

                //ou

                //stop();

                // carregar: this.image1, this.image2, this.image3

                //play();

               

        }

};

trace(retorno.image1);

stop();

var total = 0

for(var i = 1; i <= 3; i++){

        this["MCL" + i] = new MovieClipLoader();

    this["MCL" + i].onLoadInit = fimCarrega

       

    alvo = this.createEmptyMovieClip("load_foto" + i, i);

    alvo._alpha = 0;

    alvo.flag = i

        this["MCL" + i].loadClip("novidades/" + imagem1, alvo)

}

function fimCarrega(target:MovieClip) {

    total++

    if(total == 3){

        play();

    }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria mais ou menos assim

 

ACTIONSCRIPT
var php:LoadVars = new LoadVars();

var carregadas = 0

var paraCarregar  = 0

php.load('novidades.php');

php.onLoad = function(ok) {

        if (ok) {

                stop();

                for(x=1;x<=3;x++){

                        _root.paraCarregar++

                        carregarIMG(this["image"+1])

                }

        }

};

function carregarIMG(img){

        var lo = new MovieClipLoader()

        _mc = _root.createEmptyMovieClip("mc"+_root.paraCarregar,_root.paraCarregar)

        lo.loadClip(img, _mc)

        lo.onLoadInit=function  () {

                _root.carregadas++

                if(_root.paraCarregar == _root.carregadas){

                        //finalizou

                        _root.play()

                }

        }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao tava dando muito certo..

dei uma alterada, e aparentemente ela esta OK

 

ACTIONSCRIPT
this._lockroot = true;

stop();

var php:LoadVars = new LoadVars();

var carregadas = 0

var paraCarregar  = 3;

var paraTotal  = 0;

php.load('novidades.php');

php.onLoad = function(ok) {

        if (ok) {

        for(x=1;x<=3;x++){

                _root.paraTotal++

                        _root["imagem"+x] = "novidades/"+this["imagem"+x];

            carregarIMG("novidades/"+this["imagem"+x])

        }

    }

};

function carregarIMG(img){

        var lo = new MovieClipLoader()

    _mc = _root.createEmptyMovieClip("mc"+_root.paraTotal,_root.paraTotal)

    _mc._alpha = 0;

    lo.loadClip(img, _mc)

    lo.onLoadInit=function  () {

        _root.carregadas++

        if(_root.paraCarregar == _root.carregadas){

          //finalizou

            play()

        }

    }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ele carrega as 3 imagens pelo menos?

não direito, vou me matar.. esse action ta me deixando louco, sou programador php.. me acabo com estas variaveis que nao da para se ler fora das funcoes, e alguns problemas de sintaxe.. grrrrr

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei um grau no código e funcionou legal...

 

agora a grande questão..

 

 

será que seria muito dificil por um loader que mostrasse o progresso? :D

 

ACTIONSCRIPT
this._lockroot = true;

 

stop();

 

var php:LoadVars = new LoadVars();

var carregadas = 0

var paraCarregar  = 3;

var paraTotal  = 0;

 

php.load('novidades.php');

php.onLoad = function(ok) {

        if (ok) {

        for(x=1;x<=3;x++){

 

                        _global["titulo"+x] = +this["titulo"+x];

                        _global["texto"+x] = +this["texto"+x];

 

                        _root.paraTotal++

                        _global["imagem"+x] = "novidades/"+this["imagem"+x];

            carregarIMG("novidades/"+this["imagem"+x])

        }

    }

};

function carregarIMG(img){

        var lo = new MovieClipLoader()

    _mc = _root.createEmptyMovieClip("mc"+_root.paraTotal,_root.paraTotal)

    _mc._alpha = 0;

    lo.loadClip(img, _mc)

    lo.onLoadInit=function  () {

        _root.carregadas++

        if(_root.paraCarregar == _root.carregadas){

          //finalizou

            play()

        }

    }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria nessa parte do código

 

 

ACTIONSCRIPT
lo.loadClip(img, _mc)

// após mandar carregar

 

_mc.createTextField("caixa",0, 0, 0, 200, 100);

 

 

lo.onLoadProgress = function(pct:MovieClip, bLoad:Number, bTotal:Number) {

 

 

       pct.caixa.text = "Carregando - "+Math.round(bLoad/bTotal*100)+"%";

 

 

};

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu filé..

ACTIONSCRIPT
this._lockroot = true;

 

stop();

 

var php:LoadVars = new LoadVars();

var carregadas = 0

var paraCarregar  = 3;

var paraTotal  = 0;

 

php.load('novidades.php');

php.onLoad = function(ok) {

        if (ok) {

        for(x=1;x<=3;x++){

 

                        _global["titulo"+x] = this["titulo"+x];

                        _global["texto"+x] = this["texto"+x];

 

                        _root.paraTotal++

                        _global["imagem"+x] = "novidades/"+this["imagem"+x];

            carregarIMG("novidades/"+this["imagem"+x])

        }

    }

};

function carregarIMG(img){

        var lo = new MovieClipLoader()

    _mc = _root.createEmptyMovieClip("mc"+_root.paraTotal,_root.paraTotal)

    _mc._alpha = 0;

    lo.loadClip(img, _mc)

 

 

 

lo.onLoadProgress = function(pct:MovieClip, bLoad:Number, bTotal:Number) {

        _mc.createTextField("caixa",0, 100, 100, 200, 100);

    pct.caixa.text = "Carregando - "+Math.round(bLoad/bTotal*100)+"%";

};

//      lo.onLoadProgress = function(pct:MovieClip, bLoad:Number, bTotal:Number) {

//              loading.text = "carregando - "+Math.round(bLoad/bTotal*100)+"%";

//      };

       

        lo.onLoadInit=function  () {

        _root.carregadas++

        if(_root.paraCarregar == _root.carregadas){

          //finalizou

            play()

        }

    }

}

 

só que tenho um grande problema...

 

ele funciona, quando eu exporto (offline no meu pc), quando e publico, ele funciona..

 

porem quando boto ele no principal, ele não aparece nada..

entao pensei, deve ser este lockroot, o problema é que quando tiro o lockroot, o preloader nao funciona...

 

não sei mais oq fazer, este flash ta me stressando d+, sempre que resolvo um problema aprece outro =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

ps: uso o lockroot, pq o flash tem um swf principal, e dentro deste swf principal, tem os links que puxam outros swf...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que do preloading não funciona?ele insere a caixa de texto?a porcentagem que esta errada?ps: gostei do site, esta muito bom

ps: obrigado! and thanks for allé o seguintequando o publico o arquivo separado.. ele funciona 100% o loading das imagens..mas quando jogo ele para dentro do site, ele não mostra o loading.. faz tudo certo, mas não mostra a porcentagem (a parte do abc.text = "carregando"....) acho que ele não entra nem na funcao (onloadprogress), o motivo de tudo isso? acho que o action é fresco! huauha não faz sentido para mim isso =/

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.