Toon posts:

[FMX - AS] text pas op het beeld als plaatje geladen wordt *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo, ik heb de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
myData = new LoadVars();
myData.load("getdata.php");
myData.ref = this;
myData.onLoad = function(succes) {
    if (succes) {
        pnaam.htmlText = this["pnaam"];
        pinhoud.htmlText = this["pinhoud"];
        _root.laden(this["plaatje"],plaatje);
    } else {
        pnaam.htmlText = "Error";
        pinhoud.htmlText = "Foutje";
    }
};

function laden(url, plaats) {
    unloadMovie(plaats);
    loadMovie(url, plaats);

    tekstuelePreloader.totaalTekst = "";
    tekstuelePreloader.geladenTekst = "";

    blokjesPreloader.gotoAndStop(1);

    this.onEnterFrame = function() { 
        if (plaats.getBytesLoaded() != undefined && plaats.getBytesLoaded()>0) {
            var geladen = plaats.getBytesLoaded();
            var totaal = plaats.getBytesTotal();
            var percentage = geladen/totaal*100;
            
            tekstuelePreloader.totaalTekst = Math.floor(totaal/1024)+"kb";
            tekstuelePreloader.geladenTekst = Math.floor(geladen/1024)+"kb";

            blokjesPreloader.gotoAndStop(Math.round((16/100)*percentage)+1);
        }
    };
}


Het probleem is dat ik dus voor het plaatje de functie Laden gebruik, maar ik wil dat de texten pas op het beeld komen als het plaatje geladen is. En niet andersom zoals nu.
Echter ik kan de variabelen totaal en geladen niet gebruiken (uit de functie laden) om een if statement te maken voor het laden.

Hoe kan ik dit oplossen?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:50

gorgi_19

Kruimeltjes zijn weer op :9

Flash e.d. hoort thuis in Webdesign & Graphics :)

>> Webdesign & Graphics

[ Voor 35% gewijzigd door gorgi_19 op 15-10-2004 15:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ja, ik was hem al kwijt voordat ik hem kon edit-en, ik zie ook datde titel niet klopt, kan die veranderd worden naar [FMX- AS] Gebruik van 2 functies?.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:50

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 15 oktober 2004 @ 15:34:
Ja, ik was hem al kwijt voordat ik hem kon edit-en, ik zie ook datde titel niet klopt, kan die veranderd worden naar [FMX- AS] Gebruik van 2 functies?.
Dat kan ik niet wijzigen :) Daarvoor kan je Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/icon_hand.gif gebruiken en hier een verzoekje indienen met de nieuwe titel :) Iemand met de juiste rechten kan hem dan aanpassen :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-05 00:34

alienfruit

the alien you never expected

Waarom kijk je niet over de breedte en hoogte van de movieclip of ding waar je het inlaad groter is dan 0. De grootte is namelijk pas bekend als het gehele plaatje is ingeladen, zodoende weet je ook wanneer het klaar is... Als je dit combineert met de huidige methodes moet het wel lukken lijkt me.

Verwijderd

Topicstarter
dat gaat niet, ik maakte er dit van, dan krijg ik mn text niet op mn beeld.

code:
1
2
3
4
5
6
7
8
9
10
11
    if (succes) {
        _root.laden(this["plaatje"],plaatje);
        if (plaatje.width > 0){
                pnaam.htmlText = this["pnaam"];
                pinhoud.htmlText = this["pinhoud"];
        }
        else {}
    } else {
        pnaam.htmlText = "Error";
        pinhoud.htmlText = "Foutje";
    }


Als ik er plaatje.width >= 0 van maak, dan komt de text op het beeld, maar niet pas na het laden. Ik concludeer dus dat ie de width op 0 houd :?. Of in ieder geval voordat ie klaar is met laden.

Misschien kan dit ook anders?

[ Voor 10% gewijzigd door Verwijderd op 16-10-2004 10:05 ]


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-05 00:34

alienfruit

the alien you never expected

Bedoel je zoiets?
http://www.novocain.nl/tmp/preloader_test.swf (.fla is er ook)

Verwijderd

Topicstarter
Ja, maar dat werkt bij mij ook zo, mn plaatje wordt geladen met die preloader. Maar eerder al wordt de text op het beeld gezet.

Ik wil graag dat die text pas komt als het plaatje (dus alles) geladen is.

Kijken naar die image-height/width werkt niet, niet zoals ik het geprobeerd heb.
De variabelen uit de functie Laden zijn niet te gebruiken daarbuiten, dat is het probleem nu ook.

Weet er niet iemand een oplossing om dit anders te doen?

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-05 00:34

alienfruit

the alien you never expected

Huh. Bij mij laat ie de tekst toch zien nadat het plaatje ingeladen is :? Als je bedoeld dat je de design time tekst van de tekstveld ziet dan kun je die op niks zetten of dynamisch de tekstveld maken etc.

Ik doe het op deze manier, niet echt de beste manier (moet ik toegeven)

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
this.onLoad = function() {
    trace( "loading..." );
}

this.onEnterFrame = function() {
    var nBytesLoaded = _root.image.getBytesLoaded();
    var nBytesTotal = _root.image.getBytesTotal();

    precentage = ( nBytesLoaded / nBytesTotal ) * 100;
    if ( ( nBytesLoaded > 10 ) and ( nBytesLoaded < nBytesTotal ) ) {
        _root.description_text._visible = false;
        _root.preloading.bar._xscale = precentage;
        _root.preloading.txt.text = Math.round( precentage ) + "%";
    } else if  ( ( _root.image._width > 0 ) and ( _root.image._height > 0 ) ) {
        //
        // we can now show the image!
        _root.preloading.txt.text = Math.round( precentage ) + "%";
        _root.image.swapDepths( -1 );
        _root.image._xscale = _root.image._yscale = 25;
        _root.image._visible = true;

                 // tekstveld meuk hier
        
        _root.preloading._visible = false;
        delete this.onEnterFrame;
    }
}
stop();

[ Voor 120% gewijzigd door alienfruit op 16-10-2004 16:18 ]

Pagina: 1