| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
| flash preloader für html problem
Ich eröffne mal hier den thread nochmal, wo ich denke dass es thematisch besser passt, sorry.. ich habe schon viel gegoogelt konnte jedoch nicht wirklich eine antwort finden. also ich bastele gerade an einem preloader rum, welches dazu dienen soll einige swf-dateien vorzuladen und gleichzeitig einen balken anzuzeigen, anschliessend soll es zu einer url übergehen. da ich auf der webseite html und flash gemischt habe kann ich nicht preloader für die ganze seite machen. auf jeden fall sieht mein script folgerndermassen aus, welches ich aus verschiedenen quellen genommen habe: Code:
// Init Preloader
function initPreloader() {
filmArray = ["about.swf", "menu.swf"];
anzahl = filmArray.length;
for (var i = 0; i < anzahl; i++) {
this.createEmptyMovieClip("content"+i, i);
loadMovie(filmArray[i], "content" + i);
this["content" + i]._y = 10000;
}
loader_mc.brahmen_mc._width = 200;
}
// Preloader (Totalpreloader)
function preloader() {
var geladen = 0, gesamt= 0, prozent = 0;
for (var j = 0; j < anzahl; j++) {
geladen += this["content" + j].getBytesLoaded();
gesamt += this["content" + j].getBytesTotal();
}
prozent = Math.round((geladen/gesamt) * 100);
if(preloader_MC is MovieClip){
preloader_MC.gotoAndStop(prozent);
}
if (prozent == 100) {
for (var k = 0; k < anzahl; k++) {
removeMovieClip("content" + k);
}
delete this.onEnterFrame;
getURL("home.html", "_self");
}
}
// LadeClips (Seperat)
function ladeClips() {
for(var l = 0; l < anzahl; l++) {
this.createEmptyMovieClip("content"+l, l);
loadMovie(filmArray[l], "content" + l);
}
// Optional
delete anzahl;
delete filmArray;
delete initPreloader;
delete Preloader;
delete ladeClips;
loader_mc.unloadMovie();
}
// Preloader ausführen
this.initPreloader();
this.onEnterFrame = function() {
this.preloader();
}
stop(); mein problem ist es, wie kann ich angeben, dass 1.) im hintergrund diese externen swf-dateien geladen werden, während 2.) der ladebalken zu ende durchläuft und dann sich die gewünschte url öffnet? ich hoffe dass mir jemand helfen könnte! mairu ist gerade online Beitrag melden Beitrag bearbeiten/löschen |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
|
ich habe das nun etwas geändert und hoffe dass ich mein problem verständlicher rüberbringen kann bzw dass jemand vielleicht einen rat weiss.. einige swf sollen im hg laden, während der ladebalken mc mit 100 frames den fortschritt anzeigt, danach geht es zu dem nächsten clip weiter, dazu der code: Code: / Init Preloader
function initPreloader() {
filmArray = ["menu.swf", "about.swf"];
intro_mc._visible = false;
anzahl = filmArray.length;
for (var i = 0; i < anzahl; i++) {
this.createEmptyMovieClip("content"+i, i);
loadMovie(filmArray[i], "content" + i);
this["content" + i]._y = 10000;
}
} Code: // Preloader (Totalpreloader)
function preloader() {
var geladen = 0, gesamt= 0, prozent = 0;
for (var j = 0; j < anzahl; j++) {
geladen += this["content" + j].getBytesLoaded();
gesamt += this["content" + j].getBytesTotal();
}
prozent = Math.round((geladen/gesamt) * 100);
Code: if (ladebalkenMC is MovieClip){
ladebalkenMC.gotoAndStop(prozent);
}; ![]() in der theorie verstehe ich das so, dass der clip frame nach frame, je nach der grösse der heruntergeladenen bytes ablaufen soll, bis 100 % erreicht sind. in der praxis macht er das aber nicht.. Code: function ladeClips() {
for(var l = 0; l < anzahl; l++) {
this.createEmptyMovieClip("content"+l, l);
loadMovie(filmArray[l], "content" + l);
}
// Optional
delete anzahl;
delete filmArray;
delete initPreloader;
delete Preloader;
delete ladeClips;
ladebalkenMC.unloadMovie();
}
// Preloader ausführen
this.initPreloader();
this.onEnterFrame = function() {
this.preloader();
}
stop(); |
| | |
| | #3 (permalink) |
| Gast
Beiträge: n/a
|
loadMovie und ein onEnterFrame-Event sind technisch veraltet. Nimm besser eine MovieClipLoader-Instanz: PHP-Code: |
|
| | #4 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
|
wow danke schön für die antwort, der ladebalken funktioniert nun super! ich habe jedoch noch ein paar verständnis fragen und zwar zu dem hier: Code: //und ersten Film mit loadClip laden mcLoader.loadClip(urls[index], targets[index]); bzw bis auf das hier : Code: else{//letzter geladen
getURL("home.html", "_self");
} ich wollte eigentlich dass sie einfach nur ins cache geladen werden, damit's im browser bleibt, da die seite hauptsächlich aus html besteht und ich keine andere methode fand um die swf's vorzuladen.. Geändert von mairu (11-03-2010 um 22:29 Uhr) |
| | |
| | #5 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
PHP-Code: | |
|
| | #6 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
|
danke für die antwort! der spielt den clip nun wie gewünscht nicht ab, das kleine problem ist nur dass der ladebalken jetzt 2x durchläuft.. ist da irgendwas doppelt? sieht so aus: PHP-Code: |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
| oh das stimmt ja, peinlich... ![]() gibt es eigentlich eine möglichkeit dass der ladebalken nur 1x durchläuft sozusagen für die gesamtdateimenge? PHP-Code: |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
|
ahja, das heisst statt bytesTotal schreibe ich wieviel bytes das tatsächlich insgesamt sein sollen? (wie schreibt man das dann richtig?) EDIT: falsch gedacht .. naja dann werde ich einfach so einen kreispreloader clip machen, der nicht von prozent abhängig sein soll.. dann müsste ich doch das hier: PHP-Code: _root.ladebalken_mc.gotoAndPlay(1); ? dann möchte ich dass das eigentliche intro anfängt, wäre es sinnvoller das als eine neue szene, oder ein neuer frame mit MC anzulegen, gibt es einen unterschied wie lange es dann laden würde? wenn ich nach meinem preloader schreibe, er soll zu frame2 mit dem intro_mc rübergehen, und danach erst wenn der intro_mc durchgespielt hat die nächste seite öffnen, habe ich hier im forum folgendes script gefunden: PHP-Code: Geändert von mairu (12-03-2010 um 19:38 Uhr) |
| | |
| | #11 (permalink) |
| Gast
Beiträge: n/a
|
Du kommst jetzt von Kuchenbacken zu Ar...backen. Wenn du unbedingt so einen Kreispreloader benötigst, starte den bspw. mit einem attachMovie unabhängig vom onLoadProgress (den benötigst du dann ja nicht mehr!) und lösch ihn im onLoadInit. Der onEnterframe den du gefunden hast, ist hier reichlich überflüssig, weil dessen Aufgabe der onLoadProgress-Handler im Hintergrund übernehmen würde. Bei einer vom Ladefortschritt unabhängigen Animation benötigst du den Progress-Handler nicht mehr. PHP-Code: Geändert von agedoubleju (12-03-2010 um 20:34 Uhr) |
|
| | #12 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 13
|
okay, uhm.. fertig script sieht dann so aus: PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| html preloader problem | Dahn | HTML und CSS | 1 | 25-03-2008 12:41 |
| Preloader Problem... Flash scheint den ganzen Film vor dem Preloader zu laden | kosi | Flash MX 2004 | 4 | 03-12-2004 19:18 |
| Problem - Preloader & Flashfilm in Html Datei | Keiler | Flash MX 2004 | 0 | 25-01-2004 17:38 |
| Flash preloader für HTML? | Gassi | HTML und CSS | 2 | 31-01-2003 17:49 |
| Flash-preloader und HTML | MichaelW | HTML und CSS | 3 | 24-09-2001 23:58 |