Introducere rapidă Componente Flash UILoader și UIScrollbar

În această introducere rapidă la componentele profesionale Flash, vom examina UILoader și bara UIScroll.


Prezentare scurta

Uitați-vă la previzualizare. În SWF, pe partea stângă există o componentă UILoader care este invizibilă la prima vedere (pentru că nu există nimic în ea); vom încărca o imagine în acest sens.

Sub UILoader există o etichetă cu textul "Image Not Loaded"; după încărcarea cu succes a imaginii vom modifica textul acestei etichete pentru a citi "Imaginea încărcată".

Butonul de sub etichetă este utilizat pentru a începe încărcarea imaginii. În partea dreaptă există un câmp de text și o bară UIScroll care sunt inițial invizibile (câmpul de text este invizibil deoarece nu există nimic în el); la apăsarea butonului cu eticheta "Load Text", încărcăm textul dintr-un fișier text exemplu și setăm bara UIScroll să fie vizibilă.


Pasul 1: Configurarea documentului

Deschideți un nou document Flash și setați următoarele proprietăți:

  • Dimensiune document: 550x260px
  • Culoare fundal: #FFFFFF

Pasul 2: Adăugați componente la scenă

Deschideți fereastra componentelor accesând Meniu> Fereastră> Componente sau apăsând CTRL + F7.

Glisați un UILoader, o etichetă, două butoane și o bară UIScroll pe scenă.

În panoul Proprietăți dați UILoader numele instanței "imageLoader". Dacă nu apare panoul Proprietăți Meniu> Fereastră> Proprietăți sau apăsați CTRL + F3.

Setați poziția X a UILoader la 37 și Y la 20

Dați etichetei numele de instanță "loadedLabel". Setați eticheta X la 37 și Y la 182.

Dați primul buton numele de instanță "loadImageButton" și setați eticheta X la 37, Y la 213.

În panoul Instrumente, selectați instrumentul Text și trageți un TextField pe scenă. Dacă nu se afișează panoul Instrumente Meniu> Fereastră> Instrumente sau apăsați CTRL + F2.

Dați TextField numele de instanță "loremText". Setați TextField X la 272 și Y la 15, apoi setați lățimea la 243, înălțimea sa la 101.

Dați barei UIScroll numele de instanță "textScroller". Setați bara UIScroll X la 525.00 și Y la 15

Dați celui de-al doilea buton numele de instanță "loadTextButton" și setați X la 272, Y la 213.


Explicarea componentelor

Componenta UILoader este un container care poate afișa fișierele SWF, JPEG, JPEG progresive, PNG și GIF. Puteți încărca aceste active la timpul de execuție și, opțional, puteți monitoriza progresul încărcării. Pentru a vedea cum se poate face acest lucru, verificați tutorialul meu pe componenta ProgressBar (conceptele sunt aceleași) și aplicați la UILoader așa cum am făcut cu Loader-ul din acel tutorial.

Bara UIScroll vă permite să adăugați o bară de derulare la un textField. Când aveți un bloc lung de text, componenta UIScrollbar vă permite să derulați fără să aveți un TextField foarte mare pentru a vă potrivi întregului text. Această componentă este foarte ușor de folosit prin faptul că puteți să-l aruncați într-un TextField și acesta va fi "conectat" automat la acel TextField. Aici vă voi arăta cum să faceți acest lucru în ActionScript.


Pasul 3: Pregătirea fișierului AS

Creați un nou fișier ActionScript și dați-i numele Main.as.

Vom declara componentele noastre în Main.as astfel încât trebuie să dezactivați "instanțele instanței de declarare automată"; avantajul de a face acest lucru este că obțineți cod de hinting pentru instanță atunci când se utilizează editorul de cod Flash. Pentru a face acest lucru du-te la Meniu> Fișier> Publicați setările și faceți clic pe Setări, de lângă Script [Actionscript 3.0].

Debifați "Declare automat instanțe de scenă".

În Main.as, deschideți declarația pachetului și importați clasele pe care le vom folosi. Adăugați următoarele la Main.as:

 pachet // Vom extinde clasa importului MovieClip flash.display.MovieClip; // Importul componentelor pe care le vom folosi la import fl.containers.UILoader; import fl.controls.Button; import fl.controls.Label; import fl.controls.UIScrollbar; // Necesar pentru manipularea evenimentului nostru flash.events.MouseEvent; importul flash.events.Event; // Aveți nevoie de imagini încărcate și importați text flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextField;

Pasul 4: Configurați clasa principală

Adăugați clasa, extindeți videoclipul și configurați funcția Constructor.

Aici afirmăm variabilele noastre și numim funcțiile noastre în Principal() constructor. Adăugați următoarele la Main.as:

 public class Main extinde MovieClip // Componentele noastre pe scena publice var loadImageButton: Button; public var loadTextButton: Buton; public var încărcatLabel: etichetă; public var loremText: TextField; public var imagineLoader: UILoader; public var textScroller: UIScrollbar; // Folosit pentru a încărca textul în TextField public var textLoader: URLLoader; funcția publică principală () setupButtonsAndLabels (); setupTextField (); setupScrollBar (); 

Pasul 5: Funcțiile principale ale constructorului

Aici vom defini funcțiile utilizate în constructorul nostru. În setupButtonAndLabels () funcția pe care am stabilit-o eticheta de proprietate și de a adăuga ascultători de evenimente care să fie declanșați atunci când utilizatorul face clic pe buton.

În setupTextField () funcția setată este câmpul de text wordwrap proprietate la Adevărat astfel încât textul se va înfășura la linia următoare atunci când ajunge la marginea din dreapta a textului.

În setupScrollBar () am stabilit direcția bara UIScroll la "vertical" (aceasta poate fi "verticală" sau "orizontală") și, din moment ce nu vrem să fie vizibil când începe primul film, vizibil proprietate la fals.

Adăugați următoarele la Main.as:

 funcția privată setupButtonsAndLabels (): void // Setează butoanele Label (Textul afișat pe buton) loadImageButton.label = "Încarcă imaginea"; loadImageButton.addEventListener (MouseEvent.CLICK, loadImage); // Setează butoanele Etichetă (Textul afișat pe Buton) loadTextButton.label = "Încărcare Text"; loadTextButton.addEventListener (MouseEvent.CLICK, loadText); // Setează textul etichetelor încărcateLabel.text = "Imaginea nu este încărcată";  funcția privată setupTextField (): void // Linile se vor înfășura când ajung la sfârșitul (partea dreaptă) a textului loremText.wordWrap = true;  funcția privată setupScrollBar (): void // Setează direcția de defilare a barei; poate fi "vertical" sau "orizontal" textScroller.direction = "vertical"; textScroller.visible = false; 

Pasul 6: ascultători de evenimente

Aici vom codifica ascultătorii evenimentului pe care i-am adăugat la butoane și apoi vom închide clasa și pachetul.

În loadImage () funcția pe care am stabilit-o scaleContent din imageLoader la fals (dacă ar fi Adevărat imaginea se va diminua până la mărimea imaginii UILoader), așa cum dorim ca imaginea să fie dimensiunea normală. Apoi, încărcăm imaginea și adăugăm un ascultător de evenimente care să fie declanșat când imaginea a terminat încărcarea.

În loadText () ne-am înființat URLLoader și încărcați fișierul text. Aici, de asemenea, am creat un ascultător care să fie declanșat când textul sa terminat de încărcat.

În imageLoaded () am setat textul etichetei la "Image Loaded" - un exemplu simplu, dar ați putea face ceva mai puțin banal într-o aplicație "reală".

În textLoaded () funcția de setare a textului câmpului de text lae.target.data), care va fi textul din fișierul text. Apoi am setat UIScrollbar să fie vizibil și setat scrollTarget (câmpul de text pe care dorim să îl controleze).

 funcția privată loadImage (e: MouseEvent): void // Dacă ar fi setat la true imaginea va fi redusă la dimensiunea UILoader // Aici setăm la false astfel încât UILoader respectă dimensiunea reală a imaginii imageLoader.scaleContent = false; // Încarcă imaginea și declanșează o funcție când încărcarea este completă imageLoader.load (noua adresă URLRequest ("theimage.jpg")); imageLoader.addEventListener (Event.COMPLETE, imageLoaded);  funcția privată loadText (e: MouseEvent): void // Încarcă fișierul nostru text și declanșează o funcție când încărcarea este completă textLoader = new URLLoader (); textLoader.load (nou URLRequest ("lorem.txt")); textLoader.addEventListener (Event.COMPLETE, textLoaded);  funcția privată imageLoaded (e: Event): void // Setează textul pe etichetă încărcatăLabel.text = "Imagine încărcată";  funcția privată textLoaded (e: Event): void // Setează TextField la datele despre încărcătoare (textul din fișierul text) loremText.text = e.target.data; textScroller.visible = true; textScroller.scrollTarget = loremText;  // închideți clasa închideți pachetul

Rețineți că, la final, închidem clasa și pachetul.


Concluzie

Veți observa în Componente Parametri panou al componentelor pe care le puteți verifica și selecta anumite proprietăți.

Imaginea de mai sus este pentru componenta UILoader.

Proprietățile componentei UILoader sunt următoarele:

  • autoLoad: o valoare booleană care indică încărcarea automată a conținutului specificat
  • activat: o valoare booleană care indică dacă componenta poate accepta intrarea utilizatorului
  • maintainAspectRatio: o valoare booleană o valoare care indică dacă să se mențină raportul de aspect care a fost utilizat în imaginea originală sau la
    redimensionați imaginea la lățimea și înălțimea curentă a componentei UILoader
  • scaleContent: o valoare booleană care indică dacă va scala automat imaginea la dimensiunea instanței UILoader
  • sursă: o adresă URL absolută sau relativă care identifică locația conținutului de încărcat
  • vizibil: o valoare booleană care indică dacă componenta este sau nu vizibilă pe scenă

Proprietățile pentru bara UIScroll sunt

  • direcţie: stabilește direcția barei de derulare (poate fi "verticală" sau "orizontală")
  • scrollTargetName: tinta TextField la care este inregistrat bara UIScroll
  • vizibil: o valoare booleană care indică dacă componenta este sau nu vizibilă pe scenă

Fișierele de ajutor sunt un loc minunat pentru a afla mai multe despre aceste proprietăți.

Pentru a afla mai multe despre proprietățile pentru etichete și butoane, asigurați-vă că verificați introducerea rapidă a componentelor butonului și etichetei.

Vă mulțumim pentru lectură!

Cod