PDA

Volledige versie bekijken : preloader _level3


Javil
%Europe/Berlin %555 %2007, 14:20
Hallo,

ik heb een klein probleempje.
Ik heb een swf(1) waarin een swf(2) zit, en daarin opnieuw een swf(3).
Als ik in swf(2) zit en via een button de swf(3) laad wil de preloader van swf(3) niet verschijnen..
Als ik de swf(3) apart test dan doet de preloader het wel prima.
Ik heb de swf en de preloader opnieuw gemaakt maar de preloader verschijnt opnieuw niet.

Doe ik iets fout?

michelsteege
%Europe/Berlin %600 %2007, 15:24
tja doe je iets fout zit er dik in anders doet die het wel maar zonder code / files kan er alleen over gegokt worden

Javil
%Europe/Berlin %607 %2007, 15:35
De swf preload wel, maar alleen als ik de swf enkel afspeel.
In de mc_holder (via swf in mc) doet ie het niet.

bytes_loaded = Math.round(this.getBytesLoaded());
bytes_total = Math.round(this.getBytesTotal());
getPercent = bytes_loaded/bytes_total;
this.loadText = Math.round(getPercent*100)+"%";
if (bytes_loaded == bytes_total) {
this.gotoAndPlay(3);
}

Ik heb een dynamic text field, met de var loadText.
Eigenlijk exact hetzelfde als _level2 maar dan verschijnt er geen preloader.
Er word tevens wel gesimuleerd dat er gedownload word omdat het even duurt
voor dat de swf begint te spelen.

Javil
%Europe/Berlin %621 %2007, 15:55
Bij nader inzien gaat het alleen om de text.
Een bar laden doet het wel. Maar de dynamicText word niet afgebeeld..

michelsteege
%Europe/Berlin %650 %2007, 16:36
Dit komt waarschijnlijk door "this" omdat je een swf in een andere swf laat verander die probeer eens met trace(this); te kijken of die hetzelfde blijft of veranderd ;)

Javil
%Europe/Berlin %578 %2007, 14:52
myLoaded = Math.round(getBytesLoaded());
myTotal = Math.round(getBytesTotal());
myPercent = myLoaded/myTotal;
myBar._width = myPercent*150;
myText = Math.round(myPercent*100)+"%";
if (myLoaded == myTotal) {
gotoAndStop(3);
} else {
gotoAndPlay(1);
}

ik heb deze preloader, en de 'bar' doet het uitstekend.
Maar ik krijg de myText niet aan de praat.

Ik heb gewoon een dynamic text gemaakt zoals deze website zegt.
http://www.webwasp.co.uk/tutorials/b05-preload/07.php

Maar ik krijg het niet voorelkaar om die preloader aan de praat te krijg met een dynamic text..

Kan iemand mij vertellen waar dit toch mis gaat?

Of mij een link geven naar een veel betere preloader?

Dank u wel.

Jan
%Europe/Berlin %599 %2007, 15:22
Onderstaande kan je gebruiken als je bij het dynamische tekstveld, in het vakje variabele:"myText" invult
myText = Math.round(myPercent*100)+"%";
Deze kan je gebruiken als je bij het dynamische tekstveld in het vakje instancename "myText" invult
myText.text= Math.round(myPercent*100)+"%";

Zo kan je bij een dyn. textfield bij Var: bijvoorbeeld rechtstreeks _xmouse ingeven om constant de x-positie van de muis weer te geven:
http://users.telenet.be/jansurf/var-instance/var-instance.html

Groeten,
Jan

Javil
%Europe/Berlin %949 %2007, 23:46
Dank u wel! Ik kwam er echt niet meer uit. Maar nu snap ik het!

Helaas te vroeg gejuicht.

Op _level3, dus in swf in swf in swf komt een bar preloader die prima te voorschijn komt;

myLoaded = Math.round(getBytesLoaded());
myTotal = Math.round(getBytesTotal());
myPercent = myLoaded/myTotal;
myBar._width = myPercent*760;
myText = Math.round(myPercent*100)+"%";
if (myLoaded == myTotal) {
gotoAndPlay(3);
} else {
gotoAndPlay(1);
}

Maar die dynamic text field (myText) komt alleen als ik de swf alleen test en niet als ik de mainmovie test, dan verschijnt alleen de myBar.

myLoaded = Math.round(getBytesLoaded());
myTotal = Math.round(getBytesTotal());
myPercent = myLoaded/myTotal;
myBar._width = myPercent*760;
myText.text = Math.round(myPercent*100)+"%";
if (myLoaded == myTotal) {
gotoAndPlay(3);
} else {
gotoAndPlay(1);
}

Hierboven heb ik ook geprobeerd, zelfde resultaat.

Hoe kan dat toch?

Jan
%Europe/Berlin %014 %2007, 01:20
myLoaded = Math.round(getBytesLoaded());
myTotal = Math.round(getBytesTotal());

Hoe kan dat toch?
Misschien moet je er even bijzetten van welk object je deze property checked.
myLoaded = Math.round(this.getBytesLoaded());
myTotal = Math.round(this.getBytesTotal());

maar kan evengoed iets zijn als:

myLoaded = Math.round(_level3._root.mc1.mc2.mc3.getBytesLoade d());
myTotal = Math.round(_level3._root.mc1.mc2.mc3.getBytesTotal ());

Ligt er maar aan waar je code staat of hoe je project er uit ziet.

Groeten,
Jan

Jan
%Europe/Berlin %454 %2007, 11:54
preloader_level3
Ik heb een swf(1) waarin een swf(2) zit, en daarin opnieuw een swf(3).

Volgens mij verwar je _level met depth.
_level heb je vooral als je via loadMovieNum() werkt.
_level0 is dan alles wat in je main swf staat. En vanaf _level1 kan je zelf kiezen in welk _level externe content geladen wordt.

Depth is een unieke waarde voor elk object in je hele movie.
Koipieer onderstaand stukje code naar je het as van je huidige project en kijk naar je output.
for (var i in this) {
if (typeof (this[i]) == "movieclip") {
trace("movie clip '"+this[i]._name+"' is at depth "+this[i].getDepth());
}
}

Jan

Javil
%Europe/Berlin %478 %2007, 12:29
Helaas.

Het is die preloader die hierboven staat.
Die zit aan het begin van elke swf in de timeline.
Zo ook bij de swf van _level1 en _level2 en _level3.
Ik ben er ook achtergekomen dat vanaf _level1 t/m _level3 (en ws verder)
er ook geen dynamische myText word gedisplayed.
Ik heb :

myLoaded = Math.round(this.getBytesLoaded());
myTotal = Math.round(this.getBytesTotal());
myPercent = myLoaded/myTotal;
myBar._width = myPercent*760;
myText = Math.round(this.myPercent*100)+"%";
if (myLoaded == myTotal) {
this.gotoAndPlay(3);
} else {
this.gotoAndPlay(1);
}

geprobeerd maar ik doe ws iets fout.. En ik kan het niet vinden.

myLoaded = Math.round(_level3._root.mc1.mc2.mc3.getBytesLoade d());

Dit begrijp ik niet. Ik heb mijn preloader gewoon aan het begin staan van elke swf (eerste 2 frames) en voor de myBar en myText een andere layer, ook in de eerste 2 frames..

Nogmaals, de myText doet het wel als je de swf apart test...

Note : de post van u hierboven had ik nog niet gezien...

Mijn output is :

movie clip 'myBar' is at depth -16359
movie clip 'holder' is at depth -16361
movie clip 'instance1' is at depth -16383

Javil
%Europe/Berlin %558 %2007, 14:24
Nu breekt mijn klomp...

Het komt door de mask(s). Ik heb bij elke swf een mask gedaan zodat er niets van buiten af
en van binnen uit er naast zou gaan, en nu ben ik er achter gekomen dat als ik ze
weghaal dat de dynamic preloader text wel verschijnt..

Is hier nog een oplossing voor te verzinnen, wil graag mijn mask(s) bewaren.