Volledige versie bekijken : preloader load movie.
crazyme
%Europe/Berlin %420 %2005, 11:06
Hallo allemaal,
Ik heb een website en laad alle pagina via externe swfjes in. Wil overal een preloader voor zetten maar vorige keer toen ik dat probeerde werkte de preloader niet als je de movie inlaad via load movie. Heb je hier dan specials preloaders voor zoja welke? Ik had er al wel is een gevonden had je de keuze uit 4 preloaders maar die kon je volgens mij niet voor je movie zette.
groeten crazyme
TheDutch
%Europe/Berlin %431 %2005, 11:21
Kijk even in onze tutorial sectie (http://www.flashfocus.nl/tutorials/). Daar vind je tutorials over preloaders voor external SWF's :).
crazyme
%Europe/Berlin %523 %2005, 13:33
Kijk even in onze tutorial sectie (http://www.flashfocus.nl/tutorials/). Daar vind je tutorials over preloaders voor external SWF's :).
welke preloader is dan voor het extern inladen bedoelt. je plaats die preloader neem ik aan gewoon voor het filmpje dat je inlaad?
TheDutch
%Europe/Berlin %524 %2005, 13:35
Ja, je kunt elke preloader daar voor gebruiken alleen hou er rekening mee dat je pad niet altijd juist hoeft te zijn wanneer je de preloader voor external SWF gebruikt.
Misschien kan je proberen er weer een preloader voor te zetten en wanneer het niet werkt de code laten zien zodat we je kunnen helpen?
crazyme
%Europe/Berlin %525 %2005, 13:37
Ja, je kunt elke preloader daar voor gebruiken alleen hou er rekening mee dat je pad niet altijd juist hoeft te zijn wanneer je de preloader voor external SWF gebruikt.
Misschien kan je proberen er weer een preloader voor te zetten en wanneer het niet werkt de code laten zien zodat we je kunnen helpen?
goed idee ga meteen te werk!
crazyme
%Europe/Berlin %527 %2005, 13:40
hoe kan je en preloader goed testen. Met debug movie laat hij de preloader wel leuk zien maar hij laat niet het balkje vollopen..
TheDutch
%Europe/Berlin %529 %2005, 13:42
CTRL+enter en daarna weer CTRL+enter ;).
Je kunt de download snelheid aanpassen wanneer je gaat naar: View >> Download Settings
crazyme
%Europe/Berlin %530 %2005, 13:44
tnx mij preloader werkt goed. Alleen doet hij het volgens mij niet als hij word ingeladen door loadmovie.
in me preloader staan nietzoveel action heb de preloader gehaalt uit een preload flatje van lang geleden.
ifFrameLoaded ("end", "end") {
gotoAndPlay("Scene 1", "start");
}
ik ga nu denk ik zelf de preloader maken met volgende tutorial http://www.flashfocus.nl/tutorials/Actionscripting/Preloaders/?filename=Preloader%20met%20balkje%20II_Mark%20van %20der%20Wilk.zip
Werkt deze ook als ik hem voor een swf zet die ingeladen word? kunnen jullie mischien uitleggen waarom somige dan niet werken?
TheDutch
%Europe/Berlin %540 %2005, 13:58
Dat is oude code zeg? Je moet zeker die nieuwe tutorial volgen...oude code werkt bijna nooit meer in de nieuwe Flash :).
Ik denk niet dat hij standaard met external SWFs werkt, maar dat moet je even proberen en wellicht zie je zelf al waarom niet. Wanneer het je echt niet lukt help ik je graag :).
crazyme
%Europe/Berlin %541 %2005, 13:59
ik heb even een vraagje over die tut op een gegeven moment staat er
En ga zo maar door totdat je bij de 90% bent bytes bent. (dat heb ik gedaan) En wat moet daarna doet met de volgende action?
Dan moet je in de loop daarna typen:
Ga naar de Actions van frame 1. En typ dan:
var total = _root.getBytesTotal ();
var loaded = _root.getBytesLoaded ();
var procent = (100/total)*loaded ;
if (procent >= 100) {
gotoAndPlay ("Main", 1);
wat bedoeld die daar nou mee?
sorry voor mij vele vragen trouwens
TheDutch
%Europe/Berlin %543 %2005, 14:02
Sorry, wat snap je niet precies?
Moet trouwens nu weg, maar kom later nog terug.
crazyme
%Europe/Berlin %543 %2005, 14:03
Sorry, wat snap je niet precies?
Moet trouwens nu weg, maar kom later nog terug.
Ga naar de Actions van frame 1. En typ dan:
var total = _root.getBytesTotal ();
var loaded = _root.getBytesLoaded ();
var procent = (100/total)*loaded ;
if (procent >= 100) {
gotoAndPlay ("Main", 1);
waar ik deze action neer moet zetten. er staat action van frame 1 maar bedoelt hij niet gewoon het frame na die 90 %
TheDutch
%Europe/Berlin %556 %2005, 14:20
Dit zijn geen goede tutorials, ik maak vanavond wel een standaard preloader die je overal op kunt gebruiken. Daar heb je tenminste wat aan ;).
crazyme
%Europe/Berlin %557 %2005, 14:22
Dit zijn geen goede tutorials, ik maak vanavond wel een standaard preloader die je overal op kunt gebruiken. Daar heb je tenminste wat aan ;).
Ok alvast heel erg bedankt werd al wanhopig!
TheDutch
%Europe/Berlin %683 %2005, 17:24
Hoi crazyme,
Hier heb ik een prototype functie voor je gemaakt. Het mooie van een MovieClip prototype functie is dat je het op elke MovieClip kunt toepassen :).
Deze MovieClip prototype functie heeft 4 argumenten, maar ze zijn geen van alle verplicht.
MovieClip.preloader(textfield, bar, loadingText, callBack)
textfield: Een referentie naar het textfield waar je in wilt zien hoeveel er geladen is.
bar: Een referentie naar de MovieClip die je groter wilt laten worden naarmate er meer geladen is.
loadingText: Een string met daar in een zinnetje die je wilt zien in het textfield, bijvoorbeeld "Bezig met laden".
callBack: Een referentie naar de functie die je wilt uitvoeren wanneer het laden voltooid is.
Wanneer je één van de argumenten niet wilt meegeven omdat het niet nodig is, dien je null, undefined, 0 of false neer te zetten.
BELANGRIJK: Wanneer je niets invult gaan er dingen goed fout ;).
Hier een paar voorbeelden:
Hoofdmovie inladen: _root.preloader(de argumenten);
Externe SWF of JPG laden in MovieClip: MovieClip.preloader(de argumenten);
Veel succes en laat me even weten hoe het gaat :).
MovieClip.prototype.preloader = function(textfield:TextField, bar:MovieClip, loadingText:String, callBack:Function) {
var percentage:Number;
if (textfield) {
textfield._visible = true;
}
if (bar) {
bar._visible = true;
bar._xscale = 0;
}
if (this == _level0) {
preloadListener = this;
} else {
this._parent.createEmptyMovieClip("preloadObject", this._parent.getNextHighestDepth());
this._parent.preloadObject.clip = this;
preloadListener = this._parent.preloadObject;
}
preloadListener.onEnterFrame = function() {
if (this == _level0) {
percentage = Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
} else {
percentage = Math.round((this.clip.getBytesLoaded()/this.clip.getBytesTotal())*100);
}
if (percentage>0) {
if (textfield) {
if (loadingText) {
textfield.text = loadingText+" "+percentage+" %";
} else {
textfield.text = percentage+" %";
}
}
if (bar) {
bar._xscale = percentage;
}
if (percentage>=100) {
if (textfield) {
textfield._visible = false;
}
if (bar) {
bar._visible = false;
}
if (callBack) {
callBack();
}
if (this != _level0) {
unloadMovie(this);
}
delete this.onEnterFrame;
}
}
};
};
crazyme
%Europe/Berlin %699 %2005, 17:47
Hoi crazyme,
Hier heb ik een prototype functie voor je gemaakt. Het mooie van een MovieClip prototype functie is dat je het op elke MovieClip kunt toepassen :).
Deze MovieClip prototype functie heeft 4 argumenten, maar ze zijn geen van alle verplicht.
MovieClip.preloader(textfield, bar, loadingText, callBack)
textfield: Een referentie naar het textfield waar je in wilt zien hoeveel er geladen is.
bar: Een referentie naar de MovieClip die je groter wilt laten worden naarmate er meer geladen is.
loadingText: Een string met daar in een zinnetje die je wilt zien in het textfield, bijvoorbeeld "Bezig met laden".
callBack: Een referentie naar de functie die je wilt uitvoeren wanneer het laden voltooid is.
Wanneer je één van de argumenten niet wilt meegeven omdat het niet nodig is, dien je null, undefined, 0 of false neer te zetten.
BELANGRIJK: Wanneer je niets invult gaan er dingen goed fout ;).
Hier een paar voorbeelden:
Hoofdmovie inladen: _root.preloader(de argumenten);
Externe SWF of JPG laden in MovieClip: MovieClip.preloader(de argumenten);
Veel succes en laat me even weten hoe het gaat :).
MovieClip.prototype.preloader = function(textfield:TextField, bar:MovieClip, loadingText:String, callBack:Function) {
var percentage:Number;
if (textfield) {
textfield._visible = true;
}
if (bar) {
bar._visible = true;
bar._xscale = 0;
}
if (this == _level0) {
preloadListener = this;
} else {
this._parent.createEmptyMovieClip("preloadObject", this.getNextHighestDepth());
this._parent.preloadObject.clip = this;
preloadListener = this._parent.preloadObject;
}
preloadListener.onEnterFrame = function() {
if (this == _level0) {
percentage = Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
} else {
percentage = Math.round((this.clip.getBytesLoaded()/this.clip.getBytesTotal())*100);
}
if (percentage>0) {
if (textfield) {
if (loadingText) {
textfield.text = loadingText+" "+percentage+" %";
} else {
textfield.text = percentage+" %";
}
}
if (bar) {
bar._xscale = percentage;
}
if (percentage>=100) {
if (textfield) {
textfield._visible = false;
}
if (bar) {
bar._visible = false;
}
if (callBack) {
callBack();
}
if (this != _level0) {
unloadMovie(this);
}
delete this.onEnterFrame;
}
}
};
};
hey heel erg bedankt voor dit scriptje. Kan me alleen mischien beetje opweg helpen. Ik moet dit script in een movieclip zetten? wat zet ik verder in de movieclip. Wat zet ik de scene om ervoor te zorgen dat hij deze preloader laad. enz..
TheDutch
%Europe/Berlin %704 %2005, 17:54
Nee, dit script zet je NIET in een movieclip. Dit script zet je op de _root frame 1 :).
Externe SWF of JPG:
MovieClip.loadMovie("bestand.swf");
MovieClip.preloader(de argumenten);
Hoofdmovie:
_root.preloader(de argumenten);
Scenes en Levels worden niet ondersteunt in dit script alleen het laden in een MovieClip wordt ondersteunt. Scenes moet je sowieso niet gebruiken, zoek maar eens op "Waarom geen scenes" in dit forum.
crazyme
%Europe/Berlin %797 %2005, 20:09
mischien een hele domme vraag en schaam me dat ik dit vraag maar levels is dat nou het zelfde als de layers (lagen) die je hebt. :I
is het mischien mogelijk dat je dit scriptje even en een flatje zet en er een dom plaatje meelaat zodat ik zie wat de bedoeling is. je kunt me dat flatje mailen naar. s.potuijt@x-qlusivestyle.com
TheDutch
%Europe/Berlin %830 %2005, 20:55
Er zat een kleine bug in mijn prototype, vandaar dat het wat langer duurde ;).
Hier is een voorbeeld (http://www.flashdevils.com/erwin/preloader.swf) dat je als FLA hier kunt download (http://www.flashdevils.com/erwin/preloader.zip) :).
crazyme
%Europe/Berlin %598 %2005, 15:21
het zou wel aan mij liggen maar ik weet echt niet met welke action ik mijn hoofd movie gelaad krijg..
TheDutch
%Europe/Berlin %609 %2005, 15:38
Hoe bedoel je? Ik heb het al 2 keer uitgelegd en een FLA gemaakt. Wat is er dat je niet snapt? :)
crazyme
%Europe/Berlin %620 %2005, 15:53
MovieClip.prototype.preloader (Script)
function laadPlaatje() {
_root.createEmptyMovieClip("imageHolder_mc", this.getNextHighestDepth());
_root.imageHolder_mc._y += 25;
_root.imageHolder_mc.loadMovie("malstrom.jpg");
_root.imageHolder_mc.preloader(preload_txt, bar_mc, "Bezig met laden (image)", null);
}
_root.preloader(preload_txt, bar_mc, "Bezig met laden (hoofdmovie)", laadPlaatje);
maar een deel van die code heb ik niet nodig dus wat zet ik op het eerste frame. (ja ik werk al wel een tijdje met flas maar met action script ben ik net begonnen.) en dan op frame twee kan mijn root movie beginnen? die bestaat dan weer uit meerdere layers dat maakt niet uit? en als ik dan met de volgende action een swf inlaad loadMovie(info.swf, _root.screen); (wat moet ik dan bij die code zetten om de preloader te laten werken. of moet ik die preloader ook in info.swf zetten?
TheDutch
%Europe/Berlin %625 %2005, 16:00
Die hele prototype functie zet je gewoon altijd op _root frame 1. Verder vergeet je die en laat je die met rust :).
Wanneer je de hoofdmovie wilt laden, zet je dit ook op _root frame 1
_root.preloader(textfield, bar, loadingText, callBack);
textfield: Een referentie naar het textfield waar je in wilt zien hoeveel er geladen is.
bar: Een referentie naar de MovieClip die je groter wilt laten worden naarmate er meer geladen is.
loadingText: Een string met daar in een zinnetje die je wilt zien in het textfield, bijvoorbeeld "Bezig met laden".
callBack: Een referentie naar de functie die je wilt uitvoeren wanneer het laden voltooid is.
Wanneer je één van de argumenten niet wilt meegeven omdat het niet nodig is, dien je null neer te zetten.
BELANGRIJK: Wanneer je niets invult gaan er dingen goed fout.
Is het nu wat duidelijker? ;)
crazyme
%Europe/Berlin %627 %2005, 16:03
function laadPlaatje() {
_root.createEmptyMovieClip("imageHolder_mc", this.getNextHighestDepth());
_root.imageHolder_mc._y += 25;
_root.imageHolder_mc.loadMovie("malstrom.jpg");
_root.imageHolder_mc.preloader(preload_txt, bar_mc, "Bezig met laden (image)", null);
}
_root.preloader(preload_txt, bar_mc, "Bezig met laden (hoofdmovie)", laadPlaatje);
het eenigste wat hier dus van moet staan is
_root.preloader(preload_txt, bar_mc, "Bezig met laden (hoofdmovie)", laadPlaatje);
en wat is de callback van deze action?
en vervolgens wil ik dus een swf laden met welke action doe ik dat en waar zet ik die neer?
(ik begin het licht te zien)
TheDutch
%Europe/Berlin %638 %2005, 16:18
callBack is voor wanneer je een functie wilt uitvoeren nadat de movie geladen is.
Externe SWF of JPG:
MovieClip.loadMovie("bestand.swf");
MovieClip.preloader(textfield, bar, loadingText, callBack);
crazyme
%Europe/Berlin %641 %2005, 16:23
ok maar wat moet ik neerzetten bij de callBack gotoAndstop (2);
want anders gebeurt er denk ik verder niks maar als ik dat neer zet doet hij niks. doet ik iets fout. ik heb dus deze action script op frame 1 staan :
_root.preloader(preload_txt, bar_mc, "Bezig met laden (hoofdmovie)", gotoAndStop (3) );
en vanaf frame 3 begint mijn movie hij zou dan toch gewoon moeten werken? maar er gebeurt helemaal niks hij geeft een heel mooi leeg en kaal scherm?!
TheDutch
%Europe/Berlin %644 %2005, 16:27
Wil je die prototype even weglaten, dat houdt het overzichtelijk en de prototype veranderd toch niet :).
Nee, bij de callback zet je een eigen functie neer. Voorbeeld:
function geefHetEenNaam(){
_root.gotoAndStop(3);
}
_root.preloader(preload_txt, bar_mc, "Bezig met laden (hoofdmovie)", geefHetEenNaam);
crazyme
%Europe/Berlin %649 %2005, 16:35
waar kan je in flash 2005 pro je download snelheid voor debug movie opgeven?
TheDutch
%Europe/Berlin %656 %2005, 16:45
View>>Download Settings :).
crazyme
%Europe/Berlin %657 %2005, 16:46
bij mij staat dat er niet hoor
TheDutch
%Europe/Berlin %657 %2005, 16:46
Wel als je CTRL+Enter hebt ingedrukt ;).
crazyme
%Europe/Berlin %657 %2005, 16:47
kan ik jou mischien even me flatje mailen ofzo...
TheDutch
%Europe/Berlin %657 %2005, 16:47
Nee, je moet het zelf leren :).
crazyme
%Europe/Berlin %663 %2005, 16:54
MovieClip.prototype.preloader (script)
function rootmovie(){
_root.gotoAndStop(3);
}
_root.preloader(preload_txt, bar_mc, "Bezig met laden (hoofdmovie)", rootmovie);
dit staat in frame 1.
dan in frame 2 staat niks.
dan in frame 3 staat met intro bestaande uit 5 layers.
en het werkt gewoon niet!!
moeten de frames van die preloader trouwens de hele timeline doorlopen? nee toch?!
TheDutch
%Europe/Berlin %665 %2005, 16:57
Geef me de FLA maar...
TheDutch
%Europe/Berlin %675 %2005, 17:12
Je moet je Flashmovie publishen als Flash Player 7 ActionScript 2.0. Verder is het callBack argument een referentie naar de functie, dus zonder quotes want anders is het een string :).
crazyme
%Europe/Berlin %678 %2005, 17:16
ok het werkt! Geweldig. maar mensen die de site nu bekijken. hebben die wel allemaal flash player 7 met action script 2 en als ze dat niet hebben wat werkt er dan niet van de site.?
TheDutch
%Europe/Berlin %679 %2005, 17:18
Ze hebben inderdaad de Flash Player 7 nodig en als ze dat niet hebben dan krijgen ze als het goed is een popup of ze die willen downloaden en installeren. :)
crazyme
%Europe/Berlin %682 %2005, 17:23
nog even een vraagje en dan ga ik zelf weer even verder kloten. moet ik die preloader in elk frame van de in te laden swfjes zetten?
TheDutch
%Europe/Berlin %684 %2005, 17:25
Ligt eraan of je preloader in de external SWF wilt hebben of in de hoofdmovie.
crazyme
%Europe/Berlin %686 %2005, 17:28
ik wil dat de preloader gewoon zichtbaar word in het midden van me site dus ook op de plek waar me swfje word ingeladen.. moet ik dan gewoon de zelfde script aan het begin van me swfje zetten en dan gewoon dat swfje oproepen doormiddel van loadMovie(info.swf, _root.screen); en laad hij dan vanzelf de preloader of moet je nog wat meer in je action zetten?
TheDutch
%Europe/Berlin %688 %2005, 17:31
Weet je wat ik niet snap? Ik heb je dit al twee of drie keer uitgelegd maar je blijft het vragen. Lees nu eens goed wat ik je zeg...
TheDutch
%Europe/Berlin %689 %2005, 17:33
Een laatste keer:
Externe SWF of JPG:
MovieClip.loadMovie("bestand.swf");
MovieClip.preloader(textfield, bar, loadingText, callBack);
crazyme
%Europe/Berlin %691 %2005, 17:36
ik weet het ook wel
MovieClip.loadMovie("bestand.swf");
MovieClip.preloader(textfield, bar, loadingText, callBack);
maar gebruikt hij dan de preloader in de swf of in de root?
TheDutch
%Europe/Berlin %693 %2005, 17:38
Je zet die preloader niet in de SWF aangezien je het preload gedeelte in de hoofdmovie wilt.
TheDutch
%Europe/Berlin %693 %2005, 17:39
Het lijkt me een verstandig idee dat je een goed boek gaat kopen over Flash MX Actionscript :).
Want op deze manier gaat het natuurlijk niet op lange duur...
crazyme
%Europe/Berlin %699 %2005, 17:47
nee ben ik ook volplan wil een hoop leren over actionscript. jij helpt me daar nu wel bij. maarja je bent natuurlijk niet me docent dadelijk moet ik je nog salaris betalen geef je geen cursusen :P
ik heb nu deze action script maar werkt natuurlijk weer voor geen bal wat doe ik nu weer fout. het is wel me pech dag vandaag zeg heel de site inelkaar zetten ging goed totdat ik met de preloader kwam en dan je voor te stellen dat ik het gastenboek nog moet doen. :D
MovieClip.loadMovie("home.swf", _root.screen);
MovieClip.preloader(textfield, bar, "Loading", null);
help je me weer even :I
TheDutch
%Europe/Berlin %702 %2005, 17:51
Ik wil je er sterk op aandringen om zo snel als mogelijk zo'n goed boek te kopen. Dit omdat je daar heel snel veel mee leert en je er dan ook veel meer plezier in hebt....ik ook ;). Ik kan en wil je niet blijven helpen op deze manier.
MovieClip moet vervangen worden voor de MovieClip instance waar je de SWF of JPG in wilt laden.
_root.screen.loadMovie("home.swf");
_root.screen.preloader(textfield, bar, "Loading", null);
crazyme
%Europe/Berlin %708 %2005, 17:59
heb je een tip voor een goed boek ga ik hem meteen bestellen liefst wel nederlands dan kan ik het er het snelst van leren.
ik heb nu trouwens in frame 3 staan
_root.screen.loadMovie("home.swf");
_root.screen.preloader(textfield, bar, "Loading", null);
hij laad nu de home.swf mooi in de movieclip screen. ik neem aan dat de preloader ook werkt hoe kan ik dit het beste testen.
verder laad ik de movies door middel van een link die eerder is opgegeven de preloader werkt dan ook gewoon?
_root.screen.loadMovie(_root.link);
_root.screen.preloader(textfield, bar, "Loading", null);
TheDutch
%Europe/Berlin %710 %2005, 18:03
Je externe SWFs test je gewoon door de hoofdmovie op een langzame snelheid te testen en daarmee de externe SWF in te laden :).
Ik ken geen Nederlandse boeken omdat ik ze nog nooit heb gelezen. Ik lees altijd Engelse boeken :). Start een nieuw onderwerp en vraag mensen naar goede Nederlandse boeken.
crazyme
%Europe/Berlin %715 %2005, 18:10
ok nou hij laad de swfjes in hij laad alleen de preloader niet zien je heb dus even leeg beeld naja op de plek waar hij de movie moet inladen dan. hoe zou hij de preloader eigenlijk moeten laten zien op welke plek? de preloader staat in frame 1 hij gaat toch niet naar frame 1 dan want dan is de titel en alles ook weg..
TheDutch
%Europe/Berlin %717 %2005, 18:13
Sorry crazyme, ik heb erg veel tijd in dit onderwerp gestopt...ik vind het nu genoeg. Misschien dat iemand anders je verder kan helpen maar ik stop er nu mee.
Veel succes en koop dat boek hé! ;)
crazyme
%Europe/Berlin %734 %2005, 18:38
Hey TheDutch,
Heel erg bedankt voor je hulp. Ik ga dat boek zeker kopen. Je hoort vast nog wel van me met hier! (tegen de tijd dat ik wat ervarener ben)
Het is ondertussen trouwens gelukt heb die preloader gewoon voor alles swfjes gezet en de ouder loadmovie action weer neer gezet loadMovie(_root.link, _root.screen); en het werkt geweldig hij laat mooi de preloader zien in het venster waar de movie komt.
Gr. Crazyme
TheDutch
%Europe/Berlin %737 %2005, 18:41
Top hoor! :)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.