Hurtig introduksjon Flash UILoader og UIScrollbar-komponenter

I denne raske introduksjonen til Flash Professional-komponentene skal vi se på UILoader og UIScrollbar.


Kort overblikk

Ta en titt på forhåndsvisningen. I SWF, på venstre side er det en UILoader-komponent som er usynlig ved første øyekast (fordi det ikke er noe i det); Vi legger inn et bilde i dette.

Under UILoader er det en etikett med teksten "Bilde ikke lastet"; Når vi har lastet inn bildet, endrer vi denne etikettens tekst for å lese "Image Loaded".

Knappen under etiketten brukes til å starte lastingen av bildet. På høyre side er det et tekstfelt og UIScrollbar som i utgangspunktet er usynlig (tekstfeltet er usynlig fordi det ikke er noe i det); Ved å trykke på knappen med etiketten "Legg inn tekst" laster vi inn teksten fra en prøve tekstfil og stiller UIScrollbaren til syne.


Trinn 1: Sette opp dokumentet

Åpne et nytt Flash-dokument og angi følgende egenskaper:

  • Dokumentstørrelse: 550x260px
  • Bakgrunnsfarge: #FFFFFF

Trinn 2: Legg komponenter til scenen

Åpne komponentvinduet ved å gå til Meny> Vindu> Komponenter eller trykk CTRL + F7.

Dra en UILoader, en etikett, to knapper og en UIScrollbar til scenen.

I Egenskapspanelet gi UILoader forekomstnavnet "ImageLoader". Hvis Egenskaper-panelet ikke vises, gå til Meny> Vindu> Egenskaper eller trykk CTRL + F3.

Sett UILoaderens X-posisjon til 37 og dens Y til 20

Gi etiketten forekomstnavnet "loadedLabel". Sett etiketten X til 37 og dens Y til 182.

Gi den første knappen forekomstnavnet "loadImageButton" og sett etiketten X til 37, dens Y til 213.

På verktøylinjen velger du Tekstverktøyet og trekker ut en TextField på scenen. Hvis Verktøy-panelet ikke vises, gå til Meny> Vindu> Verktøy eller trykk CTRL + F2.

Gi TextField forekomstnavnet "loremText". Sett TextFields X til 272 og dets Y til 15, sett deretter bredden til 243, dens høyde til 101.

Gi UIScrollbar forekomstnavnet "textScroller". Sett UIScrollbarens X til 525.00 og dens Y til 15

Gi den andre knappen Instansnavnet "loadTextButton" og sett dets X til 272, dets Y til 213.


Forklare komponentene

UILoader-komponenten er en beholder som kan vise SWF-, JPEG-, progressive JPEG-, PNG- og GIF-filer. Du kan laste inn disse eiendelene ved kjøring og eventuelt overvåke lasteproblemer. For å se hvordan dette kan gjøres, sjekk ut min veiledning på ProgressBar-komponenten (konseptene er de samme) og gjelder for UILoader som jeg gjorde med Loader i den opplæringen.

UIScrollbar lar deg legge til en rullefelt i en textfelt. Når du har en lang blokk med tekst, kan UIScrollbar-komponenten du bla gjennom uten å ha en veldig stor TextField for å imøtekomme all tekst. Denne komponenten er veldig enkel å bruke, fordi du bare kan slippe den på en TextField, og den "wires up" automatisk til den TextField. Her viser jeg deg hvordan du gjør det i ActionScript.


Trinn 3: Klargjøre AS-filen

Opprett en ny ActionScript-fil og gi den navnet Main.as.

Vi vil erklære komponentene våre i Main.as, så vi må slå av "auto deklarere scenevaner"; Fordelen med å gjøre dette er at du får koden hinting for forekomsten når du bruker Flash kodeditor. For å gjøre dette, gå til Meny> Fil> Publiser innstillinger og klikk på Innstillinger ved siden av Skript [Actionscript 3.0].

Fjern merket for "Oppgi automatisk forekomst av forekomster".

I Main.as åpner du pakkedeklarasjonen og importerer klassene vi skal bruke. Legg til følgende til Main.as:

 pakke // Vi vil forlenge klassen av MovieClip import flash.display.MovieClip; // Importer komponentene vi skal bruke import fl.containers.UILoader; importere fl.controls.Button; importere fl.controls.Label; importere fl.controls.UIScrollbar; // Trengs for våre Event Handlers importere flash.events.MouseEvent; importere flash.events.Event; // Trenger du å laste bilder og tekst importere flash.net.URLLoader; importere flash.net.URLRequest; importer flash.text.TextField;

Trinn 4: Konfigurer hovedklassen

Legg til klassen, gjør det utvide Filmklipp, og sett opp vår Constructor-funksjon.

Her erklærer vi våre variabler og ringer våre funksjoner i Hoved() konstruktør. Legg til følgende til Main.as:

 offentlig klasse Main utvider MovieClip // Våre on-stage komponenter offentlige var loadImageButton: Button; offentlig var loadTextButton: Button; offentlig var loadedLabel: Etikett; offentlig var loremText: TextField; offentlig var imageLader: UILoader; offentlig var textScroller: UIScrollbar; // Brukes til å laste inn teksten i TextField-publikum var textLoader: URLLoader; offentlig funksjon Main () setupButtonsAndLabels (); setupTextField (); setupScrollBar (); 

Trinn 5: Hovedkonstruksjonsfunksjoner

Her definerer vi funksjonene som brukes i vår konstruktør. I setupButtonAndLabels () funksjon vi setter vår knapp merkelapp eiendom og legge til hendelseslyttere som utløses når brukeren klikker på knappen.

I setupTextField () funksjon vi setter inn tekstfeltet wordwrap eiendom til ekte slik at teksten vil vikle til neste linje når den når den høyre kanten av TextField.

I setupScrollBar () Vi stiller UIScrollbarens retning til "vertikal" (dette kan være "vertikal" eller "horisontal"), og siden vi ikke vil se den når filmen først starter, setter vi dens synlig eiendom til falsk.

Legg til følgende til Main.as:

 private funksjon setupButtonsAndLabels (): void // Setter knappene Etikett (Tekst vist på knappen) loadImageButton.label = "Load Image"; loadImageButton.addEventListener (MouseEvent.CLICK, loadImage); // Setter knappene Etikett (Tekst vist på knappen) loadTextButton.label = "Legg inn tekst"; loadTextButton.addEventListener (MouseEvent.CLICK, loadText); // Setter etiketttekst loadedLabel.text = "Bilde ikke lastet";  privat funksjon setupTextField (): void // Linjer vil vikle når de når slutten (høyre side) av textfield loremText.wordWrap = true;  privat funksjon setupScrollBar (): void // Setter vår scrollBars retning; kan være "vertikal" eller "horisontal" textScroller.direction = "vertical"; textScroller.visible = false; 

Trinn 6: Event Lyttere

Her vil vi kode hendelseslytterne vi legger til knappene og deretter lukke klassen og pakken.

I loadImage () funksjonen vi setter scaleContent av imageLoader til falsk (hvis det var ekte bildet ville skalere ned til størrelsen på UILoader), da vi vil at bildet skal være sin normale størrelse. Vi laster deretter bildet og legger til en hendelseslytter som utløses når bildet er fullført.

I loadText () funksjon vi satt opp vår URLLoader og last inn tekstfilen. Her oppretter vi også en lytter som utløses når teksten er fullført.

I imageLoaded () funksjon vi setter etikettens tekst til "Image Loaded" - et enkelt eksempel, men du kan gjøre noe mindre trivielt i en "ekte" applikasjon.

I textLoaded () funksjon vi setter tekstfeltets tekst til hendelsen (e.target.data), som vil være teksten fra tekstfilen. Vi setter da UIScrollbar å være synlig og sette sin scrollTarget (tekstfeltet vi ønsker at det skal kontrolleres).

 privat funksjon loadImage (e: MouseEvent): void // Hvis ble satt til true, ville bildet skalere ned til størrelsen på UILoader // Her satt vi til falske, slik at UILoader respekterer den faktiske bildestørrelsen imageLoader.scaleContent = false; // Laster bildet og brenner en funksjon når lastingen er fullført imageLoader.load (ny URLRequest ("theimage.jpg")); imageLoader.addEventListener (Event.COMPLETE, imageLoaded);  private funksjon loadText (e: MouseEvent): void // Laster vår tekstfil og brenner en funksjon når lastingen er fullført textLoader = ny URLLoader (); textLoader.load (ny URLRequest ("lorem.txt")); textLoader.addEventListener (Event.COMPLETE, textLoaded);  privat funksjon imageLoaded (e: Event): void // Setter teksten på etiketten loadedLabel.text = "Bilde lastet";  privat funksjon textLoaded (e: Event): void // Setter TextField til lasterens data (teksten i tekstfilen) loremText.text = e.target.data; textScroller.visible = true; textScroller.scrollTarget = loremText;  // lukk ut klassen lukk pakken ut

Legg merke til at på slutten lukker vi ut klassen og pakken.


Konklusjon

Du vil legge merke til i Komponenter Parametre panel av komponentene som du kan sjekke og velge bestemte egenskaper.

Ovenstående bilde er for UILoader-komponenten.

Egenskapene for UILoader-komponenten er som følger:

  • Autoload: en boolsk verdi som indikerer å automatisk laste inn spesifisert innhold
  • aktivert: en boolsk verdi som angir om komponenten kan godta brukerinngang
  • maintainAspectRatio: en boolsk verdi en verdi som angir om du skal opprettholde aspektforholdet som ble brukt i det opprinnelige bildet eller til
    endre størrelsen på bildet til nåværende bredde og høyde på UILoader-komponenten
  • scaleContent: en boolsk verdi som angir om bildet skal skaleres automatisk til størrelsen på UILoader-forekomsten
  • kilde: En absolutt eller relativ nettadresse som identifiserer plasseringen av innholdet som skal lastes inn
  • synlig: en boolsk verdi som indikerer om komponenten er synlig på scenen eller ikke

Egenskapene for UIScrollbar er

  • retning: setter retningen til scrollBar (kan være "vertikal" eller "horisontal")
  • scrollTargetName: målet TextField som UIScrollbar er registrert på
  • synlig: en boolsk verdi som indikerer om komponenten er synlig på scenen eller ikke

Hjelpefilene er et flott sted å lære mer om disse egenskapene.

Hvis du vil vite mer om egenskapene for etiketter og knapper, må du sjekke ut Hurtig introduksjon til knappene og etikettkomponentene.

Takk for at du leste!