Toon posts:

[Flash] Afbeeldingen worden niet getoond.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb onderstaande code gebruikt in het eerste frame van de hoofdtijdlijn. Ik probeer afbeeldingen dynamisch in te laden. Dit lukt ook, wanneer ik onderstaande code gebruik.

loadMovie("images/awards/1.jpg", afbeelding1);
loadMovie("images/awards/2.jpg", afbeelding2);
loadMovie("images/awards/3.jpg", afbeelding3);
loadMovie("images/awards/4.jpg", afbeelding4);



maar zodra ik de code uitbreid zoals hieronder het geval is, worden de afbeeldingen niet meer getoond.


onEnterFrame = function(){

loadMovie("images/awards/1.jpg", afbeelding1);
loadMovie("images/awards/2.jpg", afbeelding2);
loadMovie("images/awards/3.jpg", afbeelding3);
loadMovie("images/awards/4.jpg", afbeelding4);


var totaalBytes:Number = afbeelding1.getBytesTotal() + afbeelding2.getBytesTotal() + afbeelding3.getBytesTotal() + afbeelding4.getBytesTotal();
trace (totaalBytes);

var loadedBytes:Number = afbeelding1.getBytesLoaded() + afbeelding2.getBytesLoaded() + afbeelding3.getBytesLoaded() + afbeelding4.getBytesLoaded();
trace (loadedBytes);

stop();
if (loadedBytes >= totaalBytes){
gotoAndPlay(2);
}



Nu begrijp ik niet waarom de afbeeldingen opeens dan niet worden getoond. Dit is ook het enige wat ik veranderd heb. Zodra ik de code weghaal, dan worden de afbeeldingen weer getoond. Het is echter wel zo, dat ik deze code beslist moet gebruiken (misschien zijn er enkele aanpassingen nodig?)

[ Voor 4% gewijzigd door Verwijderd op 10-01-2007 23:01 ]


Verwijderd

Topicstarter
Het heeft te maken met het OnEnterFrame commando.

Als ik dit weghaal, dan worden de afbeeldingen wel weer getoond, alleen de traces kloppen dan niet meer. Dan wordt er 'NaN' getoond. Ondanks dat er niet aan de if-statement wordt voldaan, wordt frame 2 toch geopend??? Ik vraag me ook af hoe dat dan weer kan?

  • LB Back
  • Registratie: November 2004
  • Laatst online: 03-06 11:07
Door die enterFrame worden je plaatjes continu geladen, probeer dit eens:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
loadMovie("images/awards/1.jpg", afbeelding1);
loadMovie("images/awards/2.jpg", afbeelding2);
loadMovie("images/awards/3.jpg", afbeelding3);
loadMovie("images/awards/4.jpg", afbeelding4);
this.onEnterFrame = function() {
    var totaalBytes:Number = afbeelding1.getBytesTotal()+afbeelding2.getBytesTotal()+afbeelding3.getBytesTotal()+afbeelding4.getBytesTotal();
    trace(totaalBytes);
    var loadedBytes:Number = afbeelding1.getBytesLoaded()+afbeelding2.getBytesLoaded()+afbeelding3.getBytesLoaded()+afbeelding4.getBytesLoaded();
    trace(loadedBytes);
    if (loadedBytes>=totaalBytes) {
        gotoAndPlay(2);
        delete this.onEnterFrame;
    }
};

Verwijderd

Topicstarter
LB Back schreef op woensdag 10 januari 2007 @ 23:59:
Door die enterFrame worden je plaatjes continu geladen, probeer dit eens:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
loadMovie("images/awards/1.jpg", afbeelding1);
loadMovie("images/awards/2.jpg", afbeelding2);
loadMovie("images/awards/3.jpg", afbeelding3);
loadMovie("images/awards/4.jpg", afbeelding4);
this.onEnterFrame = function() {
    var totaalBytes:Number = afbeelding1.getBytesTotal()+afbeelding2.getBytesTotal()+afbeelding3.getBytesTotal()+afbeelding4.getBytesTotal();
    trace(totaalBytes);
    var loadedBytes:Number = afbeelding1.getBytesLoaded()+afbeelding2.getBytesLoaded()+afbeelding3.getBytesLoaded()+afbeelding4.getBytesLoaded();
    trace(loadedBytes);
    if (loadedBytes>=totaalBytes) {
        gotoAndPlay(2);
        delete this.onEnterFrame;
    }
};
LB Back schreef op woensdag 10 januari 2007 @ 23:59:
Door die enterFrame worden je plaatjes continu geladen, probeer dit eens:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
loadMovie("images/awards/1.jpg", afbeelding1);
loadMovie("images/awards/2.jpg", afbeelding2);
loadMovie("images/awards/3.jpg", afbeelding3);
loadMovie("images/awards/4.jpg", afbeelding4);
this.onEnterFrame = function() {
    var totaalBytes:Number = afbeelding1.getBytesTotal()+afbeelding2.getBytesTotal()+afbeelding3.getBytesTotal()+afbeelding4.getBytesTotal();
    trace(totaalBytes);
    var loadedBytes:Number = afbeelding1.getBytesLoaded()+afbeelding2.getBytesLoaded()+afbeelding3.getBytesLoaded()+afbeelding4.getBytesLoaded();
    trace(loadedBytes);
    if (loadedBytes>=totaalBytes) {
        gotoAndPlay(2);
        delete this.onEnterFrame;
    }
};
Ik heb inderdaad daar wel iets aangehad, maar uiteindelijk heb ik de volgende code gebruikt:

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
var contentmap = "awards";

loadMovie("images/"+ contentmap + "/1.jpg", afbeelding1);
loadMovie("images/"+ contentmap + "/2.jpg", afbeelding2);
loadMovie("images/"+ contentmap + "/3.jpg", afbeelding3);
loadMovie("images/"+ contentmap + "/4.jpg", afbeelding4);

onEnterFrame = function(){

var totaalBytes:Number = afbeelding1.getBytesTotal() + afbeelding2.getBytesTotal() + afbeelding3.getBytesTotal() + afbeelding4.getBytesTotal();
trace (totaalBytes);

var loadedBytes:Number = afbeelding1.getBytesLoaded() + afbeelding2.getBytesLoaded() + afbeelding3.getBytesLoaded() + afbeelding4.getBytesLoaded();
trace (loadedBytes);
}

stop();

while (loadedBytes < totaalBytes - 1){
    gotoAndPlay(1);
    delete onEnterFrame;
}
if (loadedBytes >= totaalBytes - 1){
    gotoAndPlay(2);
    delete onEnterFrame;
}


1 probleem blijft echter wel bestaan en dat is, zodra ik de SWF op de website plaats, dat de afbeeldingen, ondanks dat ze in het 1e frame worden geladen, deze pas zichtbaar zijn zodra de animatie die vanaf frame 2 volgt, al afgelopen is. Wanneer ik de SWF dan opnieuw laadt, dan zijn de afbeeldingen wel meteen zichtbaar en werken deze ook goed in de animatie (dit komt omdat de afbeeldingen in de cache staan). Hoe zorg ik ervoor dat de animatie pas wordt afgespeeld, wanneer alle externe JPG-bestanden zijn ingeladen.
Ik heb al geprobeerd om met loader-components de boel in te laden (echter hiermee is maar 1 bestand tegelijk mogelijk (met onLoadInit)) en verschillende scripts gebruikt, om er maar voor te zorgen dat de afbeeldingen worden geladen voordat de animatie op frame 2 start.
Iemand die eerder met dit bijltje heeft gehakt?

  • sanderb
  • Registratie: November 2000
  • Laatst online: 02:13
Ik zou sowieso eens kijken naar de movieClipLoader class. Daarmee heb je meer controle over het hele proces, en hoef je bijvoorbeeld ook geen onEnterframe aan te maken om het proces te volgen.

" A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. " - Douglas Noel Adams