| |||||||
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
| Bildergalerien in AS2 und AS3
Dieses Tutorial zeigt wichtige grundlegende Flash-Basistechniken, wie z.B. - Nachladen von externen Bildern - Preloader mit der MovieClipLoader-Klasse - Events auslösen mit Schaltflächen - auf Events reagieren - gescriptete Animationen mit der Tween- und Transitionsklasse Fragen und Probleme zum Tutorial werden in diesem Thread behandelt. Ziel: eine Bilderliste zeigen, ein Bild auswählen, gewähltes Bild über einen Tween einblenden Voraussetzungen: leere Bühne, leere Bibliothek, für den AS2-Teil mind. Flash 8, für den AS3-Teil mind. Flash CS3. Alle AS2-Scripte gehören auf die Hauptzeitleiste. Schaut euch auch bitte das Tutorial Bilder mit dynamischen Rahmen per Preloader laden an. Beispiel 1: Ein Bild nachladen und zentrieren Anschauen Alle Beispiele downloaden (Flash CS3) Schritt 1: Wir erstellen uns per Script einen leeren MC als Platzhalter bzw. Ladecontainer: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: Geändert von agedoubleju (10-01-2009 um 10:13 Uhr) |
|
| | #2 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 2: Ein Bild mit einer Preloader-Prozentangabe nachladen Anschauen Schritt 1: Preloader stellen nicht nur fest, dass ein Bild oder ein Film nachgeladen wurde, sondern können dem User auch Informationen zum Ladestatus übermitteln. Bspw. können Ladebalken oder Texte gezeigt werden. Hier mal ein Beispiel, wie die Information in einem Textfeld aussehen kann. Dazu erstellen wir per Script ein Textfeld: PHP-Code: PHP-Code: PHP-Code: PHP-Code: Geändert von agedoubleju (30-11-2008 um 01:39 Uhr) |
|
| | #3 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 3: Mehrere Bilder hintereinander laden und anzeigen Anschauen Schritt 1: Bildergalerie bedeutet ja bekanntlich, dass mehrere Bilder angezeigt werden. Dementsprechend zeige ich jetzt ein Script, mit dem mehrere Bilder in einem Loop angezeigt werden, unterbrochen von einer 5-sekündigen Pause. Dazu benötigen wir wieder einen leeren MC und einen Zähler, der mitzählt, welches Bild angezeigt wird: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: |
|
| | #4 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 4: Mehrere Bilder hintereinander laden und ein- und ausblenden Anschauen Schritt 1: Das Anzeigen der Bilder der Galerie sieht bisher noch ein wenig "schlapp" aus, daher werden wir die Bilder jetzt immer ein- und nach der Pause ausfaden. Damit das Faden ruckelfrei funktioniert, sollte die Bildrate auf mind. 24 FPS gesetzt werden. Für das Faden werden wir eine Funktion der Transitions- und Tweenklasse nutzen. Dazu importieren wir uns zuerst die entsprechenden Klassen in den Film: PHP-Code: PHP-Code: PHP-Code: PHP-Code: Das Ende des Fadens ermitteln wir über einen onMotionFinished-Callback. Nach Ende des Einblendens wird die 5-sekündige Pause gestartet, nach Ende des Ausblendens laden wir das nächste Bild. Schritt 4: Wie im vorherigen Tutorial laden wir über eine Funktion, die den Zähler überprüft, die folgenden Bilder nach: PHP-Code: PHP-Code: Geändert von agedoubleju (30-11-2008 um 03:22 Uhr) |
|
| | #5 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 5: Mehrere Bilder hintereinander über Schaltflächen-Events laden Anschauen Schritt 1: Bisher lief die Bildergalerie automatisch ab. Wir können aber auch dem Nutzer eine Steuerungsmöglichkeit mitgeben, indem wir bspw. Vorwärts- und Rückwärts-Schaltflächen erstellen. Im einfachsten Fall erstellen wir uns MCs mit Textfeldern: PHP-Code: PHP-Code: Schritt 3: Nach Klick auf die Schaltflächen soll natürlich auch noch etwas passieren. Bspw. soll nach Klick auf die Vorwärts-Schaltfläche das nächste Bild, bzw. wieder das erste Bild in einem Loop geladen werden. Dazu zählen wir den Index wieder hoch und überprüfen, ob das letzte Bild erreicht ist: PHP-Code: PHP-Code: Schritt 5: Die startLoader-Funktion hat sich nicht geändert, wohl aber die Faderfunktion. Damit nicht während des Ein- oder Ausblendens unser Film abstürzt, weil eine Schaltfläche betätigt wurde, werden die Schaltflächen während des Fadens kurzfristig stillgelegt: PHP-Code: PHP-Code: Geändert von agedoubleju (30-11-2008 um 04:07 Uhr) |
|
| | #6 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 6: Bilder nach Klick auf Vorschaubilder laden Anschauen Schritt 1: In Bildergalerien werden häufig auch kleine Vorschaubilder, die sog. Thumbnails gezeigt. Nach Klick auf diese Thumbs wird dann das eigentliche große Bild geladen. Zur Veranschaulichung habe ich deshalb in die startLoader-Funktion zwei Loader und Listener gesetzt. Ein Listener überwacht das Laden der Thumbnails und einer das Laden des ersten großen Bildes: PHP-Code: PHP-Code: PHP-Code: |
|
| | #7 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 7: Bilder nach Klick auf Vorschaubilder laden, Hauptbilder mit Rahmen und Schatten versehen Anschauen In diesem Beispiel wird das Hauptbild ein wenig "aufgehübscht", indem ein Rahmen und ein Schatten um den Bild-MC gelegt werden. Rahmen und Schatten werden in diesem Tutorial erklärt. Hier das ganze Script: PHP-Code: |
|
| | #8 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 8: Bilder nach Klick auf Vorschaubilder laden, Hauptbilder mit Rahmen und Schatten versehen, Vorschaubilder liegen unter einer Maske und können über Schaltflächen positioniert werden Anschauen Nun hat man in einer Bildergalerie meist wohl mehr als drei Bilder liegen. Doch wohin mit den vielen Vorschaubildern? In diesem Beispiel werden die Vorschaubilder nebeneinanderliegend unter einer Maske gezeigt. Bei Bedarf werden die Bilder über Vorwärts-/Rückwärtsschaltflächen nach links bzw. rechts positioniert. Schritt 1: Der Thumbnail-MC bekommt eine feste Position: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: Hier wieder das ganze Script: PHP-Code: Geändert von agedoubleju (01-12-2008 um 00:52 Uhr) |
|
| | #9 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 9: Dynamische Bildergalerie Anschauen Bisher waren unsere Bilderlisten ja statisch als Array in den Film eingefügt worden. Das ist allerdings sehr unpraktisch, wenn sich die Bilderliste ändert. Nach jeder Änderung müssten wir den Flashfilm neuveröffentlichen und auf den Server laden. Abhilfe schafft hier ein Serverscript. Ein kleines PHP-File liest den Bilderfolder aus und sendet eine Komma-separierte Liste der Filenames an den Flashfilm. Wenn Bilder auf den Server geladen oder gelöscht werden, hat der Flashfilm beim nächsten Start die aktualisierten Daten dynamisch zur Verfügung. Der Flashfilm holt sich die Daten am besten mit der LoadVars-Klasse, schaut euch bitte, falls ihr damit noch nicht sicher umgehen könnt, zuerst mein Tutorial dazu an. Achtung! Das PHP-Script funzt nicht auf der lokalen Festplatte, sondern tatsächlich nur in Verbindung mit einem Server und PHP als Middleware! Schritt 1: Wir löschen in dem vorhandenen Schritt die statischen Arraywerte und löschen den Aufruf der startLoader-Funktion. Diese darf ja erst dann gestartet werden, wenn die dynamischen Daten auch tatsächlich als Response im Flashfilm angekommen sind. Dann setzen wir uns eine Instanz der LoadVars-Klasse: PHP-Code: PHP-Code: PHP-Code: PHP-Code: Geändert von agedoubleju (16-07-2009 um 16:53 Uhr) |
|
| | #10 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 10: Dynamische Bildergalerie mit XML und Text Anschauen Zum Abschluß der AS2-Bildergalerien hier noch ein Beispiel, wie man sowohl die Bilder-URLs als auch Begleittexte mit XML nachladen kann. Schritt 1: Wir erstellen uns ein XML-File mit den URLs und Begleittexten (bitte Unicode UTF-8-codiert abspeichern, sonst gibt es Probleme mit den Umlauten): Code: <?xml version="1.0" encoding="UTF-8"?> <galerie> <bild url="feuerschiff-weser.jpg" text="Feuerschiff Weser" /> <bild url="hafenanlage.jpg" text="Hafenanlage" /> <bild url="hafenschlepper-langeness.jpg" text="Hafenschlepper Langeness" /> <bild url="kw-bruecke.jpg" text="KW-Brücke" /> <bild url="marinemuseum.jpg" text="Marinemuseum" /> <bild url="minensucher-weilheim.jpg" text="Minensucher Weilheim" /> <bild url="seglerhafen.jpg" text="Seglerhafen" /> <bild url="suedstrand.jpg" text="Südstrand" /> <bild url="uboot-u10.jpg" text="UBoot U10" /> <bild url="unterderkw-bruecke.jpg" text="Unter der KW-Brücke" /> <bild url="wattenmeer.jpg" text="Wattenmeer" /> <bild url="wattenmeerhaus.jpg" text="Wattenmeerhaus" /> <bild url="zerstoerer-moelders.jpg" text="Zerstörer Mölders" /> </galerie> PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: Geändert von agedoubleju (05-12-2008 um 13:12 Uhr) |
|
| | #11 (permalink) |
| Gast
Beiträge: n/a
|
Und hier das gesamte Script: PHP-Code: Geändert von agedoubleju (10-12-2008 um 14:25 Uhr) |
|
| | #12 (permalink) |
| Gast
Beiträge: n/a
| Beispiel 11: Ein Bild nachladen und zentrieren mit Rahmen und Schatten in AS3 Anschauen Schritt 1: In AS3 ist die Vorgehensweise ein wenig anders. Wir lagern zuerst einige Funktionen in eigene Klassen aus, den Anfang macht die Shadow-Funktion, die den Schatten um das Bild erstellen soll. Eine entsprechende Klasse könnte folgendermaßen aussehen: PHP-Code: "class" ist der Typ der Klasse und shadow der Klassenbezeichner. Auch wenn ihr von der objektorientierten Programmierung (OOP) noch nicht viel gehört habt, mit Klassen habt ihr auch schon in AS1/2 gearbeitet. Denn die vielen Flashobjekte wie MovieClips u.ä. sind auch Klassen. Man unterscheidet zwischen den statischen Klassen wie bspw. Math und den nichtstatischen wie bspw. LoadVars. Da man nicht direkt mit einer Klasse arbeiten kann, sondern nur mit einer "Kopie", wird diese Kopie mit new instanziiert. Über den Instanznamen kann dann auf die "Kopie" zugreifen, bspw.: PHP-Code: PHP-Code: Zurück zum Beispiel: in die Klasse ist nur eine Konstruktorfunktion eingebettet, die als Parameter das Objekt übergeben bekommt, an das das Schatten-Array angehängt werden soll. Die weiteren Parameter für den DropShadowFilter könnt ihr in der Flash-Hilfe nachlesen. Schritt 2: Die Funktion für das Rechteck wird auch ausgelagert. Hier habe ich mal ein Rechteck mit der Shape-Klasse erstellt. Es lässt sich aber natürlich auch eine Oldschool-Variante mit der Zeichen-API erstellen. PHP-Code: PHP-Code: PHP-Code: Schritt 4: Wir setzen in die Klasse noch einige Funktionen, die bspw. auf die Transparenz des Bildes einwirken und dadurch Faderfunktionen bereitstellen. Das wird hier durch Tweens erreicht ähnlich wie in den vorherigen AS2-Beispielen: PHP-Code: Schritt 5: Wir erstellen eine Dokumentenklasse, die das ganze starten soll. Den Klassenbezeichner "Bildergalerie" tragen wir im Eigenschaftenbedienfeld bei DocumentClass ein. PHP-Code: Geändert von agedoubleju (30-12-2008 um 17:31 Uhr) |
|
![]() |
| Lesezeichen |
| Stichworte |
| bildergalerie, folder auslesen, moviecliploader, preloader |
| Themen-Optionen | |
| Ansicht | |
| |
LinkBacks (?)
LinkBack zu diesem Thema: http://www.flashforum.de/forum/programmieren/bildergalerien-as2-und-as3-262589.html | ||||
| Erstellt von | Für | Art | Datum | Hits |
| Diaporama en en AS2 avec parametre modifiable - Centre de Formation Flash - Forums Adobe Flash | Dieses Thema | Refback | 01-09-2009 01:04 | 5 |