Toon posts:

Flash MX 2004, externe movie met preloader laden

Pagina: 1
Acties:
  • 142 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Geen matches
Ik heb een movie welke filmpjes moet gaan afspelen die extern ingeladen worden als swf.
  • De basis movie heet commercial
  • De externe movies heten commercial_low.swf en commercial_high.swf en zijn voorzien van een preloader
Commercial:
-keyframe 1: Keuze scherm
-keyframe 2:
code:
1
2
loadMovie("commercial_high.swf", "kader");
stop();

-keyframe 3:
code:
1
2
loadMovie("commercial_low.swf", "kader");
stop();

Commercial_high
-preloader in commercial_high.swf:
code:
1
2
3
4
5
6
7
8
bytes_loaded = Math.round(_root.getBytesLoaded());
bytes_total = Math.round(_root.getBytesTotal());
getPercent = bytes_loaded/bytes_total;
_root.loadBar._width = getPercent*100;
_root.loadText = Math.round(getPercent*100)+"%";
if (bytes_loaded == bytes_total) {
    _root.gotoAndPlay(3);
}

-keyframe 2:
code:
1
gotoAndPlay (1);

Nu is het probleem alleen dat nadat een movie geladen is hij deze niet preload en gaat afspelen, hij blijft gewoon stilstaan op frame 1 van de geladen movie.
Tevens zal ik ook ergens een unloadMovie moeten toepassen als er voor de andere movie gekozen gaat worden. De vraag is dan alleen waar ik die het beste kan plaatsen? Onder de movie keuze knop misschien?

Ik heb al op Flaskit.com en Kirupa.com zowel als dit forum rondgekeken maar heb helaas geen bruikbare reacties kunnen vinden.

[ Voor 35% gewijzigd door Verwijderd op 18-04-2005 08:49 ]


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 03-05 20:51
Matched: moviecliploader
Zoek in de help eens op MovieClipLoader.

Verwijderd

Matched: moviecliploader
idd McVirusS doelt er op dat je een master moet maken. een aparte preloader swf en dus niet in elke movie. Je laadt dan alles met de moviecliploader.
Elke keer als je de moviecliploader gebruikt van de master verschijnt automatisch de preloader.

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

Geen matches
hmm; als 1 movie op 2 staat en de andere op 3 en je preloader cycled tussen 'iets' en 3 dan gaat het natuurlijk ook niet werken

Stoer; Marduq


Verwijderd

Topicstarter
Matched: moviecliploader
De preloader is van de externe film movie.

@Harry 12345 & McVirus
Ik zal de Moviecliploader evn gaan proberen.

[ Voor 50% gewijzigd door Verwijderd op 18-04-2005 08:51 ]


Verwijderd

Topicstarter
Matched: moviecliploader
Daar ben ik weer en ook een heel stuk verder gekomen.

Ik heb nu dus een movie genaamd "commercial" waarin dmv 3 knoppen 3 verschillende externe swf movies in de commercial movie geladen worden. Alledrie deze movies bevatten ieder een stukje film. Iedere geladen movie wordt gepreload binnen de commercial movie. Hiervoor gebruik ik de volgende code in de movie "commercial":
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
37
38
39
stop();
bar._visible = false;
border._visible = true;
this.createEmptyMovieClip("container", "100");
container._x  = 72;
container._y = 5;
my_mc = new MovieClipLoader();
preload = new Object();
my_mc.addListener(preload);
preload.onLoadStart = function(targetMC) {

trace("started loading "+targetMC);
container._visible = false;
bar._visible = true;
border._visible = true;

};
preload.onLoadProgress = function(targetMC, lBytes, tBytes) {

bar._width = (lBytes/tBytes)*100;

};
preload.onLoadComplete = function(targetMC) {
    
container._visible = true;
border._visible = true;
bar._visible = false;
trace(targetMC+" finished");

};
_root.keuzemenu.button1.onPress = function() {
my_mc.loadClip("img/flash/commercial_high.swf", "container");
};
_root.keuzemenu.button2.onPress = function() {
my_mc.loadClip("img/flash/commercial_med.swf", "container");
};
_root.keuzemenu.button3.onPress = function() {
my_mc.loadClip("img/flash/commercial_low.swf", "container");
};

Via "button01/02/03" worden de externe movies geladen in een lege movieclip.

Mijn probleem is nu het volgende. Een externe movie begint al te spelen (op de achtergrond, want je ziet de preloader gewoon door laden) op ongeveer 30% van het laad proces. Zelf denk ik dat het fout gaat bij deze regel:
code:
1
2
3
4
5
6
7
8
preload.onLoadComplete = function(targetMC) {
    
container._visible = true;
border._visible = true;
bar._visible = false;
trace(targetMC+" finished");

};
:?
Momenteel heb ik een stop op de eerste keyframe van de externe movies geplaatst, maar dat is geen doen want dan moeten de bezoekers eerst weer op de play knop drukken na het laden om het filmpje te starten.

[ Voor 7% gewijzigd door Verwijderd op 11-05-2005 12:40 ]


Verwijderd

Matched: moviecliploader
uhm volgens mij moet je de listener aan de moviecliploader hangen en niet aan de preloader object.
foutje.. ik las het verkeerd. maar in elk geval werkt onderstaande code wel goed.

deze code gebruik ik altijd voor de master.swf

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var myMCL:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();

myListener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
               _level50._visible = true;
    var preloadPercent:Number = Math.round((loadedBytes/totalBytes)*100);
    _level50.preloader.gotoAndStop(preloadPercent);
    //_level50.preloadInfo1.text = preloadPercent + "% geladen";
    //_level50.preloadInfo2.text = Math.round(loadedBytes/1000) + " k geladen van " + Math.round(totalBytes/1000) + " k totaal"; 
}

myListener.onLoadComplete = function(target_mc) {
    _level50._visible = false;
}   

myMCL.addListener(myListener);


myMCL.loadClip("preloader.swf", 50);


de preloader is in dit geval een swf met daarin een movieclip (instance name: preloader) van 100 frames.

en een paar frames later laadt je de swf-jes
bijvoorbeeld:

code:
1
2
3
stop();
myMCL.loadClip("mainmenuAndbackground.swf", 10);
myMCL.loadClip("huppelepup.swf", homecache);


zie bijvoorbeeld www.infographics.nl. tenminste ik neem aan dat dat is wat je wilt. Alhoewel ik hier geen preloader van 100 frames heb gebruikt, want dan is de animatie niet vloeiend.

[ Voor 40% gewijzigd door Verwijderd op 11-05-2005 16:23 ]


Verwijderd

Topicstarter
Geen matches
Bij mijn movie moeten de filmpjes alleen op ieder moment op te roepn zijn dmv de 3 knoppen. Ik heb dit met jouw code/manier in mijn project niet werkend kunnen krijgen.

Ik denk ook eigenlijk dat er alleen nog een klein stukje code in mijn eigen code mist. Misschien iets in de trant van 'als "container"mc total bytes geladen is dan play'? Verder werkt het nml prima.

Verwijderd

Matched: moviecliploader
als je achter de onRelease van de buttons gewoon de moviecliploader gebruikt, dan spelen de filmpjes toch niet eerder af als dat ze compleet geladen zijn met mijn methode?

dus gewoon:

code:
1
2
3
button1.onRelease = function () {
        _level0.myMCL.loadClip("huppelepup.swf", homecache);
}


heb je jouw site ook online staan?

[ Voor 8% gewijzigd door Verwijderd op 12-05-2005 21:20 ]


Verwijderd

Topicstarter
Geen matches
Ik zal het even proberen.

De site waar ik dit in gebruik staat wel online. Alleen als bèta, en die mag ik helaas nog niet publiekelijk maken denk ik.
Pagina: 1