Schnelle Einführung Flash UILoader und UIScrollbar-Komponenten

In dieser Kurzanleitung zu den Flash Professional-Komponenten werden der UILoader und die UIScrollbar beschrieben.


Kurzübersicht

Schauen Sie sich die Vorschau an. In der SWF befindet sich auf der linken Seite eine UILoader-Komponente, die auf den ersten Blick unsichtbar ist (da sich darin nichts befindet). Wir werden ein Bild in dieses laden.

Unter dem UILoader befindet sich ein Etikett mit dem Text "Image Not Loaded". Nach erfolgreichem Laden des Bildes ändern wir den Text dieses Labels in "Image Loaded"..

Mit der Schaltfläche unter dem Etikett wird das Laden des Bildes gestartet. Auf der rechten Seite befinden sich ein Textfeld und eine UIScrollbar, die anfangs unsichtbar sind (das Textfeld ist unsichtbar, da sich darin nichts befindet). Wenn Sie auf die Schaltfläche mit der Beschriftung "Text laden" klicken, wird der Text aus einer Beispieltextdatei geladen und die UIScrollbar wird sichtbar.


Schritt 1: Einrichten des Dokuments

Öffnen Sie ein neues Flash-Dokument und legen Sie die folgenden Eigenschaften fest:

  • Dokumentgröße: 550x260px
  • Hintergrundfarbe: #FFFFFF

Schritt 2: Fügen Sie der Bühne Komponenten hinzu

Öffnen Sie das Komponentenfenster, indem Sie auf gehen Menü> Fenster> Komponenten oder drücken Sie STRG + F7.

Ziehen Sie einen UILoader, ein Label, zwei Buttons und eine UIScrollbar auf die Bühne.

Geben Sie im Eigenschaftenbereich dem UILoader den Instanznamen "imageLoader" an. Wenn das Eigenschaftenfenster nicht angezeigt wird, gehen Sie zu Menü> Fenster> Eigenschaften oder drücken Sie STRG + F3.

Setzen Sie die X-Position des UILoader auf 37 und Y auf 20

Geben Sie dem Label den Instanznamen "loadedLabel". Setzen Sie X des Labels auf 37 und Y auf 182.

Geben Sie der ersten Schaltfläche den Instanznamen "loadImageButton" und setzen Sie das X der Beschriftung auf 37, das Y auf 213.

Wählen Sie im Bedienfeld Werkzeuge das Textwerkzeug aus, und ziehen Sie ein Textfeld auf der Bühne heraus. Wenn das Werkzeugfenster nicht angezeigt wird, gehen Sie zu Menü> Fenster> Extras oder drücken Sie STRG + F2.

Geben Sie dem TextField den Instanznamen "LoremText". Setzen Sie das X des TextFields auf 272 und das Y auf 15 und dann die Breite auf 243, die Höhe auf 101.

Geben Sie der UIScrollbar den Instanznamen "textScroller". Setzen Sie X der UIScrollbar auf 525.00 und Y auf 15

Geben Sie dem zweiten Button den Instanznamen "loadTextButton" und setzen Sie sein X auf 272, sein Y auf 213.


Erklärung der Komponenten

Die UILoader-Komponente ist ein Container, der SWF-, JPEG-, progressive JPEG-, PNG- und GIF-Dateien anzeigen kann. Sie können diese Assets zur Laufzeit laden und optional den Ladevorgang überwachen. Um herauszufinden, wie dies getan werden kann, lesen Sie mein Tutorial über die ProgressBar-Komponente (die Konzepte sind dieselben), und wenden Sie sich auf den UILoader an, wie ich es mit dem Loader in diesem Tutorial getan habe.

Mit der UIScrollbar können Sie einem Textfeld eine Bildlaufleiste hinzufügen. Wenn Sie über einen langen Textblock verfügen, können Sie mit der UIScrollbar-Komponente durchblättern, ohne ein sehr großes Textfeld zu haben, um den gesamten Text aufzunehmen. Diese Komponente ist sehr einfach zu verwenden, da Sie sie einfach auf ein TextField ablegen können und sie automatisch mit diesem TextField "verbindet". Hier zeige ich Ihnen in ActionScript, wie es geht.


Schritt 3: Vorbereiten der AS-Datei

Erstellen Sie eine neue ActionScript-Datei, und geben Sie ihr den Namen Main.as.

Wir werden unsere Komponenten in Main.as deklarieren, so dass wir "Stage-Instanzen automatisch deklarieren" deaktivieren müssen. Der Vorteil dabei ist, dass Sie Code-Hinweise für die Instanz erhalten, wenn Sie den Code-Editor von Flash verwenden. Um dies zu tun, gehen Sie zu Menü> Datei> Veröffentlichungseinstellungen und klicken Sie auf Einstellungen neben Skript [Actionscript 3.0].

Deaktivieren Sie "Bühneninstanzen automatisch deklarieren"..

Öffnen Sie in Main.as die Paketdeklaration und importieren Sie die Klassen, die wir verwenden werden. Fügen Sie Folgendes zu Main.as hinzu:

 package // Wir erweitern die Klasse von MovieClip. import flash.display.MovieClip; // Importiere die Komponenten, die wir importieren werden fl.containers.UILoader; import fl.controls.Button; import fl.controls.Label; import fl.controls.UIScrollbar; // Wird für unsere Event-Handler benötigt import flash.events.MouseEvent; import flash.events.Event; // für geladene Bilder und Text erforderlich import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextField;

Schritt 4: Einrichten der Hauptklasse

Fügen Sie die Klasse hinzu, erweitern Sie den Movieclip und richten Sie unsere Konstruktorfunktion ein.

Hier deklarieren wir unsere Variablen und rufen unsere Funktionen im auf Main() Konstrukteur. Fügen Sie Folgendes zu Main.as hinzu:

 public class Main erweitert MovieClip // Unsere Komponenten auf der Bühne public var loadImageButton: Button; public var loadTextButton: Schaltfläche; public var loadedLabel: Label; public var loremText: TextField; public var imageLoader: UILoader; public var textScroller: UIScrollbar; // Wird verwendet, um den Text in das TextField zu laden. Public var textLoader: URLLoader; public function Main () setupButtonsAndLabels (); setupTextField (); setupScrollBar (); 

Schritt 5: Hauptfunktionen des Konstruktors

Hier definieren wir die Funktionen, die in unserem Konstruktor verwendet werden. In dem setupButtonAndLabels () Funktion setzen wir unsere Tasten Etikette Eigenschaft und fügen Sie Ereignis-Listener hinzu, die ausgelöst werden, wenn der Benutzer auf die Schaltfläche klickt.

In dem setupTextField () Funktion setzen wir das Textfeld Zeilenumbruch Eigentum an wahr Der Text wird also in die nächste Zeile umgebrochen, wenn er die rechte Kante des Textfelds erreicht.

Im setupScrollBar () Wir setzen die Richtung der UIScrollbar auf "vertikal" (dies kann "vertikal" oder "horizontal" sein). Da wir sie beim Start des Films nicht sichtbar machen wollen, setzen wir deren sichtbar Eigentum an falsch.

Fügen Sie Folgendes zu Main.as hinzu:

 private function setupButtonsAndLabels (): void // Setzt die Schaltflächen Beschriftung (Text wird auf der Schaltfläche angezeigt) loadImageButton.label = "Load Image"; loadImageButton.addEventListener (MouseEvent.CLICK, loadImage); // Legt die Schaltflächen fest (Text wird auf der Schaltfläche angezeigt) loadTextButton.label = "Text laden"; loadTextButton.addEventListener (MouseEvent.CLICK, loadText); // Setzt den Beschriftungstext loaded loaded - "Image Not Loaded";  private function setupTextField (): void // Zeilen werden umgebrochen, wenn sie das Ende (rechte Seite) des Textfelds erreichen. loremText.wordWrap = true;  private function setupScrollBar (): void // Legt unsere scrollBars-Richtung fest. kann "vertikal" oder "horizontal" sein textScroller.direction = "vertical"; textScroller.visible = false; 

Schritt 6: Ereignis-Listener

Hier werden wir die Ereignis-Listener codieren, die wir zu den Schaltflächen hinzugefügt haben, und dann die Klasse und das Paket schließen.

In dem Bild laden() Funktion setzen wir die scaleContent des imageLoader zu falsch (wenn es wäre wahr Das Bild wird auf die Größe des Bildes verkleinert UILoader), da das Bild seine normale Größe haben soll. Wir laden dann das Bild und fügen einen Ereignis-Listener hinzu, der ausgelöst wird, wenn das Bild vollständig geladen wurde.

In dem loadText () Funktion, die wir einrichten URLLoader und laden Sie die Textdatei. Hier haben wir auch einen Listener eingerichtet, der ausgelöst wird, wenn der Text vollständig geladen ist.

In dem imageLoaded () Funktion setzen wir den Text des Labels auf "Image Loaded" - ein einfaches Beispiel, aber Sie könnten in einer "echten" Anwendung etwas weniger Triviales tun.

In dem textLoaded () Funktion setzen wir den Text des Textfelds auf das Ereignis (e.zieldaten) ist der Text aus der Textdatei. Dann setzen wir die UIScrollbar sichtbar sein und sein setzen scrollTarget (das Textfeld, das wir kontrollieren möchten).

 private function loadImage (e: MouseEvent): void // Wenn true gesetzt wäre, würde das Bild auf die Größe des UILoader verkleinert. // Hier setzen wir den Wert false, damit der UILoader die tatsächliche Bildgröße berücksichtigt imageLoader.scaleContent = false; // Lädt das Bild und löst eine Funktion aus, wenn das Laden abgeschlossen ist imageLoader.load (new URLRequest ("theimage.jpg")); imageLoader.addEventListener (Event.COMPLETE, imageLoaded);  private function loadText (e: MouseEvent): void // Lädt unsere Textdatei und löst eine Funktion aus, wenn das Laden abgeschlossen ist. textLoader = new URLLoader (); textLoader.load (neue URLRequest ("lorem.txt")); textLoader.addEventListener (Event.COMPLETE, textLoaded);  private Funktion imageLoaded (e: Event): void // Setzt den Text auf dem Etikett loadedLabel.text = "Image Loaded";  private Funktion textLoaded (e: Event): void // Setzt das TextField auf die Daten des Laders (den Text in der Textdatei). loremText.text = e.target.data; textScroller.visible = true; textScroller.scrollTarget = loremText;  // Klasse schließen Paket schließen

Beachten Sie, dass wir am Ende die Klasse und das Paket schließen.


Fazit

Das merkt man im Komponentenparameter Panel der Komponenten, die Sie überprüfen und bestimmte Eigenschaften auswählen können.

Das obige Bild ist für die UILoader-Komponente.

Die Eigenschaften für die UILoader-Komponente lauten wie folgt:

  • autoLoad: ein boolescher Wert, der angibt, dass der angegebene Inhalt automatisch geladen wird
  • aktiviert: Ein boolescher Wert, der angibt, ob die Komponente Benutzereingaben akzeptieren kann
  • Seitenverhältnis beibehalten: ein boolescher Wert Ein Wert, der angibt, ob das im Originalbild verwendete Seitenverhältnis oder bis beibehalten werden soll
    Verändern Sie die Größe des Bildes auf die aktuelle Breite und Höhe der UILoader-Komponente
  • scaleContent: Ein boolescher Wert, der angibt, ob das Bild automatisch auf die Größe der UILoader-Instanz skaliert werden soll
  • Quelle: eine absolute oder relative URL, die den Ort des zu ladenden Inhalts angibt
  • sichtbar: Ein boolescher Wert, der angibt, ob die Komponente auf der Bühne sichtbar ist

Die Eigenschaften für die UIScrollbar sind

  • Richtung: legt die Richtung der Scrollleiste fest (kann "vertikal" oder "horizontal" sein)
  • scrollTargetName: das Ziel-Textfeld, für das die UIScrollbar registriert ist
  • sichtbar: Ein boolescher Wert, der angibt, ob die Komponente auf der Bühne sichtbar ist

In den Hilfedateien können Sie mehr über diese Eigenschaften erfahren.

Weitere Informationen zu den Eigenschaften für Beschriftungen und Schaltflächen finden Sie in der Kurzanleitung zu den Komponenten "Schaltfläche" und "Beschriftung".

Danke fürs Lesen!