| |||||||
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: Nov 2004
Beiträge: 175
| Scripte kombinieren
Hallo Forum, habe zwei Scripte, die ich gerne miteinander kombinieren möchte. Das erste ist ein normaler Preloader für das Laden einer SWF-Datei mit grafischem Ladebalken. Das zweite ist ebenfalls ein Preloader, der allerdings nur externe Bilder lädt (an dieser Stelle ein GROSSES Dankeschön an "Der Frager"). PHP-Code: PHP-Code: Sicher habt Ihr schon eine Idee. Gruß und Danke, Chris |
| | |
| | #2 (permalink) |
| tracer Registriert seit: Jun 2004
Beiträge: 4.415
|
aloha! wie meinst du das mit "verbinden"? de flashplayer kann immer nur ein teil nach dem andren laden;
__________________ Viola per Sempre Alle Angaben ohne Gewehr! trace your open mind in variables ! andretti ActionScript Dictionary |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 175
|
Hallo andretti, entschuldige meine unpräzise Ausdrucksweise. Ich möchte, dass der Film erst dann abgespielt wird, wenn er: a) selber geladen ist (logisch) und b) die externen Bilder, die im Film verwendet werden, im Cache liegen, damits während dem Abspielen nicht so lange dauert, bis das Bild dann da ist. Dazu muss ich anfangs die gesamte zu ladende Byte-Anzahl ermitteln, also: a) vom Film selbst (z.B. 26 KB) und b) von den externen Bildern (z.B. 863 KB oder sonstwas) 26 + 863 = 889 An diesen 889 KB müsste sich dann mein Ladebalken inkl. Prozentanzeige orientieren. Und erst, wenn er die hat gehts mit gotoAndPlay("start"); weiter. Gruß Chris |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Er will sicher das der "normale" Preloader auch externe Graphiken laden kann. *ein bisel langsam ![]() Ich könnte mir vorstellen in einer Schleife für jedes Bild einen MovieClipLoader zu erstellen und von diesem die bytesTotal abfragen. Die Summe aus allen ist dann die Menge an Bytes die zur Größe des Films noch hinzu kommt. Den Status kann man ja dann in einer weiteren Schleife durch aufsummieren der bytesLoaded errechnen
__________________ ein mensch ohne macke ist kacke... Geändert von DaKinel (25-01-2006 um 09:17 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 175
|
@ DaKinel zu Deiner Änderung von Thread #4: Ich denke, Du bist da auf dem richtigen Weg. Aber ist das nicht schon (zumindest teilweise) im Script 2 umgesetzt? Sorry, aber ich brauch da wohl noch nen Denkanstoß Gruß Chris |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Hier mal meine Variante: PHP-Code:
__________________ ein mensch ohne macke ist kacke... Geändert von DaKinel (25-01-2006 um 12:29 Uhr) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 175
|
@ DaKinel, vielen Dank für Deine Bemühungen. Leider muss ich gestehen, das ich Dein Script nicht verstehe. Dennoch entnehme ich dem Ganzen, das es nicht in der gewünschten Weise funktionieren wird. Sorry ![]() Grund dafür ist folgender: in meinem 2.ten Script werden Bilder mit unterschiedlichen Benamungen geladen. Diesen Punkt vermisse ich bei Dir. Vielleicht hast Du ja dafür noch eine Lösung parat. Danke, Chris |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Ich würd das alles noch etwas anders angehen. Ich würde mir von einem PHP-Skript den Ordner in welchem die Bilder liegen auslesen lassen. Die Liste der Bilder im Ordner würde ich zum Film übertragen und dort auswerten. Nun hätte man eine aktuelle Liste aller Bilder mit Namen und kann daraus ein Array erstellen weches die Daten zu den Bildern enthält. Das PHP-Skript könne schon die Bildinformationen mit auslesen, so das Bildabmaße, Bildgröße, etc. schon vorhanden sind und nicht erst umständlich in Flash ermittelt werden müssen. Dann würde ich vielleicht nicht alles mit einem Preloader laden lassen, sondern das ganze in verschiedene Teile aufsplitten. Zum Bsp. einen Teil der den Ladestatus des PHP-Skriptes anzeigt, einen der den Ladestatus der Bilder wiedergibt und einen der den Haupfilm-Ladestatus zeigt. Ist aber alles nicht das was du suchst. Frage ist, ob du die Namen der Bilder zum Zeitpunkt des Ladevorganges kennst. Wenn ja ist es ein Leichtes dies in mein angegebenes Skript zu integrieren. Erklärungen zum Skript: 1. Was die Variablendefinitionen am Anfang bedeuten sollte klar sein 2. Die Funktion init() macht nix weiter, als zwei Arrays zu füllen. Das erste Array mClip enthält die temporär erstellten MC's in die die Bilder geladen werden. Diese MC's werden nach Beendigung des Ladevorganges wieder entfernt. Das zweite Array mcLoader enthält jeweils eine Referenz auf das MovieClipLoader-Objekt das erstellt wurde. Das MovieClipLoader Objekt wird erstellt um den Ladestatus des Bildes später abfragen zu können. Von jedem MovieClipLoader-Objekt wird die Methode onLoadInit() aufgerufen um den Start des Ladeforganges eines Bildes zu empfangen. In der Methode wird geprüft ob schon alle Bilder gestartet wurde. Ist dem so, wird ein neues Intervall gesetzt, welches aller 83,33 Millisekunden (das ist die Framerate bei 12 Bildern/s) die Funktion set Progress aufruft. Das Resultat ist nichts anderes, als der Aufruf der Methode onEnterFrame. 3. Die Funktion calculateLoaded() errechnet die aktuell geladenen Bytes. Es wird einfach nur das Array mcLoader durchlaufen und jeweils der aktuelle Ladestand jedes einzelnen Bildes abgerufen. Alle Ladestati werden zusammenaddiert und ergeben den aktuellen Gesamtladestatus. 4. Die Funktion setProgress() sollte selbsterklärend sein.
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #10 (permalink) | |
| tracer Registriert seit: Jun 2004
Beiträge: 4.415
| Zitat:
du kannst nur mal den mutterfilm vorladen; wenn geladen, dann mit den bildern mittels schleife laden, und dann halt erst zu frame (beispiel) 2 springen; und wenn du das mit einem ladebalken machen möchtest, müsstest du die einzelnen anteile der elemente(mutterfilm,bilder) ausrechnen und diese dann noch durch hundert dividieren, und dass dann wachsen lassen, aber des is uuurkompliziert(wenns überhaupt geht) eventuel nur einen balken verwenden und diesen um 1 pixel pro geladenen prozent wachsen lassen(wenn zu viele bilder, dann schlecht...) oder den balken von haus aus klein halten, und immer, wenn er per ._xscale = 100(also wenn gerade mal wieder 100 prozent geladen wurden), diesen balken an den vorgänger attachen, und sofort wieder per._xscale die aktuellen prozent zuweisen, and so on, and so on... ich hoffe, des war ein wenig verständlich und auch hilfreich;
__________________ Viola per Sempre Alle Angaben ohne Gewehr! trace your open mind in variables ! andretti ActionScript Dictionary Geändert von andretti (25-01-2006 um 12:47 Uhr) | |
| | |
| | #11 (permalink) | |
| Neuer User Registriert seit: Nov 2004
Beiträge: 175
|
@ DaKinel ok, dank Deiner Erklärung leuchten mir schon mal wenigstens einige Punkte ein. Zu Deiner Frage: Der Namen der Bilder IST mir vorher bekannt. Die Bilder haben immer den gleichen Pfad und heißen: PHP-Code: Verstehe noch nicht so ganz, wo in Deinem Script die Ladeanzeige (Balken und Prozente) ausgegeben werden. Schon mal vielen Dank an Dich! @ andretti Zitat:
Ich möchte an dieser Stelle auch noch mal was klarstellen: Meine beiden Scripts funktionieren, solange sie unabhängig laufen. So schwer kann das eigentlich gar nicht sein, die zusammen zu bringen. Anbei mal meine Dummy-FLA. Auf der Ebene as im dritten Frame spielt sich das bei mir ab. Script 2 ist derzeit auskommentiert, da die ja (momentan) nicht zusammen laufen. Bilder hab ich jetzt nicht dabei, wäre sonst von der Datenmenge zu viel. Kann man aber leicht improvisieren: Dummy-Bild nach oben genanntem Schema 3x abspeichern und die Variable anzahl entsprechend reduzieren. Danke für Eure Mühe! Chris | |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Was andretti dir sagen wollte ist, du kannst keine Bilder vorausladen wenn die Bühne noch nicht da ist. Das heist im Klartext, du musst zuerst _root.getBytesLoaded() abfragen und erst wenn die Bühne zu 100% geladen ist kannst du auch Bilder laden. Es ist also schwerlich möglich alles zusammen in einem Preloader unterzubringen und deshalb auch andrettis Argumentation mit dem großen Aufwand.
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 175
|
Aber dafür muss es doch ne Lösung geben!!! Vielleicht den Preloader in den Hauptfilm stecken. Dann müsste dieser aber wissen, welche Bilder geladen werden sollen. Das ganze erweist sich so langsam als never-ending story. Wenn Ihr wüsstet, wie lange ich jetzt schon mit dieser Preloader-Geschichte kämpfe... Chris |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Nun ja, wenn du in deinem Film keine Objekte in der Bibliothek hast die im ersten Frame deines Filmes geladen werden, kannst du dort deinen Preloader erstellen. Wenn sich im ertsen Frame nix weiter als dein Preloader befinet, dann sollte der ertse Frame auch nicht großer als 500 Byte sein. 500 Byte ist eine Größe die man bei heutigen Internetverbindungen vernachlässigen kann. Im Endeffekt musst du nur von _root.getBytesTotal() die Größe des ersten Frames abziehen und schon kommt alles wieder hin.
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 175
|
@ DaKinel: Aha, und was heisst das jetzt? Sorry, aber ich verstehe nur noch Bahnhof ![]() Kannst Du Dir vielleicht mal meine Dummy-Datei ansehen und mir dann gezielt sagen, was ich wo und wie platzieren muss? Ich check das einfach nicht. Danke, Chris PS: ich brauch doch allein für den Preloader schon Objekte aus der Bibliothek (Ladebalken & Maske, die den Balken anwachsen lässt) Woher weiss ich eigentlich wie groß ein einzelner Frame ist? Geändert von *perplex* (25-01-2006 um 15:56 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |