| |||||||
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) |
| Gast
Beiträge: n/a
| Bilder mit dynamischen Rahmen per Preloader laden
Dieses Tutorial zeigt einige wichtige grundlegende Flash-Techniken, wie z.B. - Nachladen von externen Bildern - Preloader mit der MovieClipLoader-Klasse - dynamisches Zeichnen mit der Flash Zeichen-API - gescriptete Animationen mit der Tween- und Transitionsklasse - einfache Schatten Ziel: einen statischen Bilderrahmen erstellen, ein externes Bild nachladen, den Rahmen dynamisch an die Bildgröße anpassen und das dazu über eine Tween-Animation. Und um das ganze noch ein wenig aufzuhübschen, wird dem Bilderrahmen noch ein Dropshadow spendiert. Voraussetzungen: leere Bühne, leere Bibliothek, mind. Flash 8, Teile können aber auch mit MX2004 erstellt werden Anschauen Beispiel downloaden (Flash CS3) Schritt 1: wir beginnen damit, ein statisches Rechteck mit der Flash-Zeichen-API zu erstellen. Ich habe mir dazu vor einiger Zeit mal eine dynamische Funktion erstellt, die ich immer wieder auch in anderen Projekten verwenden kann: PHP-Code: PHP-Code: PHP-Code: Schritt 3: wie versprochen, setzen wir auf das Rechteck noch einen DropShadowFilter, damit wir etwas mehr "Tiefe" haben: PHP-Code: Im Prinzip wird ein Array mit allen wichtigen Filterwerten übergeben. Diese Werte legen z.B. fest, mit welcher Farbe und Intensivität der Filter gesetzt werden soll. Wichtig ist die Zeile PHP-Code: PHP-Code: Geändert von agedoubleju (22-05-2008 um 20:25 Uhr) |
|
| | #2 (permalink) |
| Gast
Beiträge: n/a
| Schritt 4: um den Bilderrahmen dynamisch an die Bildergröße anzupassen, müssen wir zuerst die Höhe und Breite des nachzuladenden Bildes ermitteln. Nach einem Ladebefehl in Flash ist aber nicht sofort in der nächsten Mikrosekunde das Bild nachgeladen, gerade über Internet kann das Nachladen beliebig lange dauern oder im worst-case ganz abbrechen. Wir benötigen also eine Funktion, die das Laden überwacht und uns danach eine Rückmeldung gibt. Diese Funktion nennt man Preloader. Ein Preloader kann sowohl unsichtbar im Hintergrund wirken, aber auch mit entsprechenden Text- oder Bildinformationen Hinweise zum Ladeverhalten geben. Einfache Preloader kann man bspw. mit kontinuierlichen onEnterFrame-Events oder Intervallen erzeugen. Seit Flash 7 steht aber auch die MovieClipLoader-Klasse zur Verfügung und ab CS3 mit AS3 kann man auch die Loader-Klasse nutzen. Ich möchte hier mal ein Beispiel mit der MovieClipLoader-Klasse zeigen (zum Testen müsst ihr ein Bild in dasselbe Verzeichnis wie die swf legen): PHP-Code: Wichtig ist dabei auch die onLoadInit-Funktion, die uns meldet, dass sowohl das Laden beendet wurde, aber auch der entsprechende Container-MC mit Daten befüllt wurde. Denn jetzt erst können wird die Breite und Höhe des gefüllten MCs (und damit natürlich auch der Grafik) ermitteln. Schritt 5: jetzt bringen wir etwas Dynamik in unser Script. Der Bilderrahmen soll sich schließlich unserem Bild in Höhe und Breite anpassen. Außerdem macht es natürlich Sinn, ein paar Pixel Rand zu lassen: PHP-Code: |
|
| | #3 (permalink) |
| Gast
Beiträge: n/a
| Schritt 6: Bild und Rahmen sind nun zwar geladen und dynamisch positioniert, aber das ganze sieht noch immer recht statisch aus. Um die Darstellung ein wenig aufzulockern, werden wir die dynamische Anpassung des Rahmens über gescriptete Tweens vornehmen. Die Tween- und Transitionsklasse gibt uns zahlreiche Bewegungsformeln an die Hand, mit der wir Zustandsänderungen einfach darstellen können. Schauen wir uns dazu mal einen einfachen Funktionsaufruf an: PHP-Code: Als weitere Parameter werden der Alpha-Startwert von 0 und der Endwert von 100 übergeben, sowie die Animations-Zeit von 0,6 Sekunden. Der letzte Parameter (true) bedeutet, dass wir den Tween über ein Intervall laufen lassen, statt über einen onEnterFrame-Event und damit die Animation von der voreingestellten Framerate abzukoppeln. Wichtig ist noch, dass wir das Ende der Animation abfangen können, das funktioniert bspw. mit einem onMotionFinished: PHP-Code: |
|
| | #4 (permalink) |
| Gast
Beiträge: n/a
| Schritt 7: wir verbinden jetzt unser vorhandenes Script mit den Tweens. Im Beispiel wird jetzt zuerst die Breite und x-Position des Rahmens verändert. Erst nach Ablauf dieser Animationen wird auch die Höhe und y-Position verändert. Damit das nachgeladene Bild erst nach den Transitions gezeigt wird, setzen wir die _alpha-Eigenschaft des Bild-MCs zuerst auf 0. Erst wenn die Animationen durchlaufen wurden, wird das Bild gezeigt: PHP-Code: |
|
![]() |
| Lesezeichen |
| Stichworte |
| bilder laden, tutorial |
| Themen-Optionen | |
| Ansicht | |
| |
LinkBacks (?)
LinkBack zu diesem Thema: http://www.flashforum.de/forum/programmieren/bilder-mit-dynamischen-rahmen-per-preloader-laden-249405.html | ||||
| Erstellt von | Für | Art | Datum | Hits |
| [FLASH!?] Auktionsgallerie per Flash selber gestallten/erstellen. - TweakPC Hardware Forum | Dieses Thema | Refback | 25-08-2009 13:09 | 5 |