Hurtig introduksjon Flash NumericStepper, Slider og ProgressBar Components

Disse tre komponentene omhandler alle tall i rekkevidde. I denne Quick Tip ser vi på hvordan du bruker dem.

Den numeriske stepper lar deg sette et nummer innenfor et bestemt område ved hjelp av tastaturet eller ved å klikke på piltastene; skyvekontrollen lar deg dra en tommel for å velge et nummer fra en rekkevidde på en mer grafisk måte, og fremdriftslinjen viser hvor langt et område er et bestemt tall.


Forhåndsvisning

I forhåndsvisnings-SWF ser du to etiketter, to numeriske stappers, to knapper, en blå sirkel og en skyveknapp. NumericSteppers brukes til å angi en rekke tall som vi vil generere et tilfeldig tall fra. Når knappen klikkes, endres etiketten for å vise tilfeldig tall som ble generert. Slider brukes til å endre størrelsen på sirkelen; ved å dra skyveknappen til høyre øker sirkelens størrelse, mens du drar til venstre, reduseres sirkelens størrelse.

Den andre knappen brukes til å laste inn en SWF; trykk på knappen og en ProgressBar legges til scenen for å vise fremdriftsfremdriften. Når Loader laster innholdet, blir det lagt til scenen og ProgressBar er fjernet.


Trinn 1: Sette opp dokumentet

Åpne et nytt Flash-dokument og sett inn følgende egenskaper

  • Dokumentstørrelse: 550 * 360
  • Bakgrunnsfarge: #FFFFFF

Trinn 2: Legg komponenter til scenen

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

Dra to knapper, to etiketter, to numeriske steppere og en skyveknapp til scenen.

I Egenskaper-panelet gir den første etiketten forekomstnavnet "StepperLabel"

(Hvis Egenskaper-panelet ikke vises, gå til Meny> Vindu> Komponenter eller trykk CTRL + F3)

Sett etiketten X til 19 og dens Y til 9.

Bruke Egenskaper panelet:

  • Gi den andre etiketten forekomstnavnet "sliderLabel" X: 19, Y: 140
  • Gi den første NumericStepper forekomstnavnet "fromStepper" X: 19, Y: 144
  • Gi den andre NumericStepper forekomstnavnet "toStepper" x: 130, Y: 44
  • Gi glidebryteren forekomstnavnet "glidebryter" X: 19, Y: 223
  • Gi den første knappen Instansnavnet "randomNumButton" X: 60, Y: 82
  • Gi den andre knappen Installernavn "LoaderButton"

Tegn en blå sirkel med det ovale verktøyet (hold skiftet vil dra for å gjøre det til en sirkel) og konvertere den til en MovieClip ved å velge den, høyreklikke og deretter velge "Konverter til symbol". Gi det et forekomstnavn på "theCircle".


Trinn 3: Forbereder AS-filen og importerer klassene

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

Vi vil deklarere komponentene våre i Main.as, så vi må slå av "auto deklarere scenevaner". Fordelen ved å gjøre dette er at du får koden hinting for forekomsten.

Gå til Meny> Fil> Publiser innstillinger

Klikk på innstillinger ved siden av Skript [ActionScript 3]

Fjern merket for "automatisk deklarere scenevaner"

I Main.as åpner pakkeerklæringen og importerer klassene vi skal bruke.

Legg til følgende på Main.as.

 pakke // Våre Onstage-komponenter importerer fl.controls.NumericStepper; importere fl.controls.Slider; importere fl.controls.ProgressBar; importere fl.controls.Label; importere fl.controls.Button; // Trengs for å utvide klassen import flash.display.MovieClip; // Trenger du å autosize vår etiketts tekst import flash.text.TextFieldAutoSize; // Hendelsene vi trenger i dette prosjektet importerer flash.events.MouseEvent; importere flash.events.Event; importere fl.events.SliderEvent; importer flash.events.ProgressEvent; // Trengs for å laste .swf filen import flash.net.URLRequest; importer flash.display.Loader;

Trinn 4: Konfigurer hovedklassen

La oss legge til klassen, få den til å utvide filmklippet og sette opp konstruktørfunksjonen.

Legg til følgende på Main.as:

 offentlig klasse Main utvider MovieClip public var StepperLabel: Etikett; offentlig var sliderLabel: Etikett; offentlig var fromStepper: NumericStepper; offentlig var toStepper: NumericStepper; offentlig var randomNumButton: Button; offentlig var loaderButton: Button; offentlig var skyvekontroll: Slider; offentlig var progressBar: ProgressBar; offentlig var theLoader: Loader; offentlig var theCircle: Circle; offentlig funksjon Main () setupLabels (); setupSteppers (); setupButtons (); setupSlider (); 

Trinn 5: Hovedkonstruksjonsfunksjoner

Her definerer vi funksjonene som brukes i vår konstruktør.

I setupLabels () funksjon vi gjør noen grunnleggende oppsett på våre etiketter ved hjelp av Auto størrelse slik at hver etikett automatisk endres for å holde all tekst sendt til den.

I setupSteppers () funksjon vi setter opp våre steppers "minimum" og "maksimale" egenskaper. Disse brukes til å begrense tallene som er tilgjengelige i stepper. Vi bruker ikke en eventlytter med glidebryterne her (selv om du kan bruke Event.CHANGE for skyvekontrollene å oppdage når deres verdi er endret).

I setupButtons () Vi legger til vår tekst på knappene via merkelapp eiendom og legg til hendelseslyttere på knappene.

I setupSliders () vi satte minimum og maksimum for glidebryterens verdier. De snapInterval Angir hvor mye glidebryterens verdi endres når du drar her bruker vi .1. De liveDragging er satt til ekte slik at verdien av glidebryteren er tilgjengelig mens du drar - hvis dette ble satt til falsk vi ville ikke kunne få verdien til brukeren sluttet å dra. Til slutt legger vi til en lytter til glidebryteren.

Legg til følgende til Main.as:

 private funksjon setupLabels (): void StepperLabel.text = "Klikk på knappen for et tilfeldig nummer"; // Autosizes etiketten for å holde hele teksten StepperLabel.autoSize = StepperLabel.autoSize = TextFieldAutoSize.LEFT; sliderLabel.text = "Dra skyveknappen for å endre sirkelstørrelse"; // Autosizes etiketten for å holde hele teksten sliderLabel.autoSize = sliderLabel.autoSize = TextFieldAutoSize.LEFT;  privat funksjon setupSteppers (): void // Minumum verdier av steppers fromStepper.minimum = 0; toStepper.minimum = 1; // Maksimale verdier av steppers fromStepper.maximum = 99; toStepper.maximum = 100; // Sett steppersverdien her fraStepper.value = 0; toStepper.value = 45;  privatfunksjon setupButtons (): void randomNumButton.label = "Click"; randomNumButton.addEventListener (MouseEvent.CLICK, getrandomNumer); loaderButton.label = "Last inn swf"; loaderButton.addEventListener (MouseEvent.CLICK, loadSwf);  privat funksjon setupSlider (): void // Minimum og maksimumsverdier for skyvekontrollen slider.minimum = 1; slider.maximum = 3; // Dette angir hvor mye skyvekontrollen "øker" av slider.snapInterval = .1; // liveDragging betyr at steppersverdien er tilgjengelig mens du drar // hvis den er satt til feil, får vi ikke verdien til vi sluttet å dra slider.liveDragging = true; slider.addEventListener (SliderEvent.CHANGE, scaleCircle); 

Trinn 6 Legg til tilfeldige funksjoner

Her legger vi til de gjenværende funksjonene.

I getrandomNumber () funksjon vi kaller en annen funksjon, generateRandomNumber (), som er fra en opplæring her på Activetuts + av Carlos Yanez. Gå videre og sjekk ut den veiledningen for å se hvordan dette fungerer!

De scaleCircle () funksjonen får verdien av skyveknappen og setter scaleX og Scaley av sirkelen filmklipp. De scaleX og Scaley brukes til å endre størrelsen (skalaen) av filmklippet.

De loadSwf () funksjonen setter opp en Loader som vi bruker til å laste inn en ekstern SWF. Vi legger da til en hendelselytter til Loaderens contentLoaderInfo; de contentLoaderInfo holder informasjon om hva lasteren laster inn (her en SWF).

Vi setter opp en ProgressBar og legg det til scenen. Vi setter ProgressBar's kilde til
contentLoaderInfo av lasteren, og siden contentInfoLoader inneholder informasjon om hva lasteren laster inn (inkludert bytesLoaded og bytesTotal) Dette er hvordan ProgressBar kan oppdatere seg selv for å gjenspeile hvor mye av SWF har lastet.

De finishedLoading () funksjonen setter x- og y-posisjonen til Loader-innholdet (dvs. SWF) og legger den deretter til scenen. På dette tidspunktet er vi ferdige med ProgressBar, så vi fjerner den fra scenen.

Så lukker vi ut klassen og pakken.

 privat funksjon getrandomNumer (e: Event): void // Her passerer vi i to tall (steppers 'verdier) generateRandomNumber (fromStepper.value, toStepper.value);  privat funksjon generateRandomNumber (minNum: Nummer, maxNum: Nummer): void // Holder det genererte nummeret var randomNumber = (Math.floor (Math.random () * (maxNum - minNum + 1)) + minNum); // Her slår vi tilfeldig nummer til en streng slik at vi kan bruke den i etikettteksten StepperLabel.text = "Ditt tilfeldige nummer er" + String (randomNumber);  privatfunksjon skalaCircle (e: Event): void // scaleX og scaleY øke eller redusere en MovieClip størrelse // her bruker vi glidebryterens verdi fra "1-3" theCircle.scaleX = e.target.value; theCircle.scaleY = e.target.value;  privat funksjon loadSwf (e: Event): void theLoader = new Loader (); theLoader.x = 319.00; theLoader.y = 31.00; theLoader.load (ny URLRequest ("dummy.swf")); // Her får vi lasterens contentLoaderInfo som er hva lasteren // laster inn (her en swf) theLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, finishedLoading); progressBar = ny ProgressBar (); progressBar.x = 323; progressBar.y = 244; addChild (progressbar); // Fremdriftslinjens kilde er satt til lasterens contentLoaderInfo // contentLoaderInfo holder informasjonen om SWFs bytesLoaded / bytesTotal progressBar.source = theLoader.contentLoaderInfo;  Offentlig funksjon completedLoading (e: Event): void // Her setter vi loader content.x og .y //I.E. swf s .x og .y theLoader.content.x = 290; theLoader.content.y = 20; // Vi legger til lasterens innhold I.E. swf addChild (theLoader.content); // Siden det laster er ferdig laster vi ikke trenger fremdriftslinjen lenger // Så vi fjerner det fjerneChild (progressBar);  // lukk ut klassen // lukk pakken

Konklusjon

Igjen ved hjelp av komponenter er det en fin måte å legge til funksjonalitet i dine Flash-filmer uten å måtte bygge dem fra bunnen av

Du vil legge merke til i komponentparameterepanelet på komponentene som du kan kontrollere og velge bestemte egenskaper.

Bildet ovenfor er for NumericStepper-komponenten

Egenskapene er som følger for NumericStepper-komponenten:

  • aktivert: en boolsk verdi som indikerer om komponenten kan godta brukerinngang
  • maksimum: Maksimal verdi i sekvensen av numeriske verdier.
  • minimum: minimumsverdi i sekvensen av numeriske verdier.
  • Trinnstørrelse: ikke-nullnummer som beskriver enheten for endring mellom verdier.
  • verdi: Nåværende verdi av NumericStepper-komponenten.
  • synlig: en boolsk verdi som angir om komponenteksemplet er synlig

Egenskapene til Slider er som følger

  • retning: glidebryterens retning. Akseptable verdier er SliderDirection.HORIZONTAL og SliderDirection.VERTICAL.
  • aktivert: en boolsk verdi som indikerer om komponenten kan godta brukerinngang
  • maksimum: Maksimum tillatt verdi på Slider-komponent-forekomsten.
  • minimum: Den minste tillatte verdien på Slider-komponent-forekomsten.
  • snapInterval: trinnet hvor verdien økes eller reduseres ettersom brukeren beveger skyvekontrollens tommel.
  • tickInterval: Avstand av merket i forhold til komponentens maksimale verdi.
  • verdi: Gjeldende verdi av Slider-komponenten.
  • synlig: en boolsk verdi som angir om komponenteksemplet er synlig

Egenskapene til ProgressBar er som følger

  • retning: Angir fyllingsretningen for fremdriftslinjen. En verdi på ProgressBarDirection.RIGHT Indikerer at fremdriftslinjen er fylt fra venstre til høyre. En verdi på ProgressBarDirection.LEFT Indikerer at fremdriftslinjen er fylt fra høyre til venstre.
  • aktivert: en boolsk verdi som indikerer om komponenten kan godta brukerinngang
  • modus: Går eller angir metoden som skal brukes til å oppdatere fremdriftslinjen. Følgende verdier gjelder for denne eiendommen: ProgressBarMode.EVENT, ProgressBarMode.POLLED, ProgressBarMode.MANUAL
  • kilde: En referanse til innholdet som lastes inn og for hvilket ProgressBar måler fremdriften av lastoperasjonen.
  • synlig: en boolsk verdi som angir om komponenteksemplet er synlig

For å se egenskapene for etikettene og knappene, må du sjekke Hurtigspissen på etiketter og knapper.

Hjelpefilene er også et flott sted å lære mer om komponentegenskapene du kan angi i parameterpanelet.

Takk for at du leser og se opp for mer kommende komponent introduksjoner!