I denne ukens Quick Tip on Flash Professional-verktøy vil vi se på komponentene Tile and TileList.
Åpne et nytt Flash-dokument og angi følgende egenskaper:
Åpne komponentvinduet ved å gå til Meny> Vindu> Komponenter eller trykk CTRL + F7.
Dra to etiketter, en liste og en TileList-komponent til scenen.
I Egenskaper-panelet gir den første etiketten et forekomstnavn på "populationLabel".
(Hvis Egenskaper-panelet ikke vises, gå til Vindu> Egenskaper eller trykk CTRL + F3.)
Sett etikettens X til 31.00 og dets Y til 26.00.
I Egenskaper-panelet gir den andre Etiketten forekomstnavnet "flagsLabel". Sett etiketten er X til 31,00 og dens Y til 238.
Gi deretter listen forekomstnavnet "statesList" og sett listen X til 31.00 og dets Y til 62.00.
Til slutt, gi TileList forekomstnavnet "statesTileList" og sett TileList's X til 31.00 og dets Y til 269.00.
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.
Gå til Meny> Fil> Publiser innstillinger. Klikk på innstillinger ved siden av Skript [Handlingsskrift 3].
Fjern merket for "Oppgi automatisk forekomst av forekomster".
I Main.as åpner du pakkedeklarasjonen og importerer klassene vi skal bruke ved å legge til følgende kode:
pakke import flash.display.MovieClip; importer flash.display.Loader; importere fl.data.DataProvider; importere fl.controls.List; importer fl.controls.TileList; importere fl.controls.Label; importere flash.events.Event; importere flash.text.TextFieldAutoSize; importere fl.controls.ScrollBarDirection; importere flash.net.URLRequest;
Vi legger til klassedepartementet, slik at det utvider MovieClip, og vi vil sette opp vår konstruktørfunksjon.
Legg til følgende til Main.as:
offentlig klasse Main utvider MovieClip // vår List Component public var statesList: List; // vår TileList Component public var statesTileList: TileList; // Våre etiketter offentlige var populationLabel: Etikett; public var flagsLabel: Etikett; // Dataleverandører for listen komponenter var listDp: DataProvider; var tileListDp: DataProvider; // Trenger du å laste et større bilde av det valgte flagget, var picLoader: Loader; offentlig funksjon Main () setupListDataProvider (); setupTileListDataProvider (); setupLabels (); setupList (); setupTileList (); setupLoader ();
Her definerer vi setupListDataProvider ()
, setupTileListDataProvider ()
, setupLabels ()
, setupTileList ()
, og setupLoader ()
Funksjoner, som nevnt tidligere i konstruktøren.
I biblioteket finner du filmklipp kalt "state" MC; Disse brukes som et ikon for listekomponenten. Du må sette opp koblingen for filmklippene for at de skal legges til listen. Gjør dette ved å høyreklikke på filmklippet og velge "Egenskaper". Her bruker vi navnet på filmklippet som klassenavnet:
DataProvider-klassen gir oss en enkel måte å sette opp data som skal brukes av komponenter.
Legg til følgende funksjoner i Main.as:
privat funksjon setupListDataProvider (): void // Denne dataprodusenten vil levere vår Liste komponentlisteDp = ny DataProvider (); // Her er ikoneneSource en filmClip koblet i biblioteket // befolkningen virker som en dynamisk variabel i vår liste listeDp.addItem (iconSource: alabamaMC, etikett: "Alabama", befolkning: "4661900"); listDp.addItem (iconSource: alaskaMC, etikett: "Alaska", befolkning: "686293"); listDp.addItem (iconSource: arizonaMC, etikett: "Arizona", befolkning: "6500180"); listDp.addItem (iconSource: arkansasMC, etikett: "Arkansas", befolkning: "2855390"); listDp.addItem (iconSource: californiaMC, etikett: "California", befolkning: "36756666"); listDp.addItem (iconSource: coloradoMC, etikett: "Colorado", befolkning: "4939456"); listDp.addItem (iconSource: conneticutMC, etikett: "Conneticut", befolkning: "3501252"); listDp.addItem (iconSource: delawareMC, etikett: "Delaware", befolkning: "873092"); listDp.addItem (iconSource: floridaMC, etikett: "Florida", befolkning: "18328340"); listDp.addItem (iconSource: georgiaMC, etikett: "Georgia", befolkning: "9685744"); listDp.addItem (iconSource: hawaiiMC, etikett: "Hawaii", befolkning: "1288198"); listDp.addItem (iconSource: idahoMC, etikett: "Idaho", befolkning: "1523816"); listDp.addItem (iconSource: illinoisMC, etikett: "Illinois", befolkning: "12901563"); listDp.addItem (iconSource: indianaMC, etikett: "Indiana", befolkning: "6376792"); listDp.addItem (iconSource: iowaMC, etikett: "Iowa", befolkning: "3002555"); privat funksjon setupTileListDataProvider (): void // Denne dataProvider vil forsyne vår tilelist // Kilden er dem bildet du vil vise // fullSize fungerer som en dynamisk variabel til våre tileList tileListDp = new DataProvider (); tileListDp.addItem (kilde: "flagg / alabama.gif", full størrelse: "flagsLarge / alabama.jpg"); tileListDp.addItem (kilde: "flagg / alaska.gif", full størrelse: "flagsLarge / alaska.jpg"); tileListDp.addItem (kilde: "flagg / arizona.gif", full størrelse: "flagsLarge / arizona.jpg"); tileListDp.addItem (kilde: "flagg / california.gif", full størrelse: "flagsLarge / california.jpg"); tileListDp.addItem (kilde: "flagg / colorado.gif", full størrelse: "flagsLarge / colorado.jpg"); tileListDp.addItem (kilde: "flagg / connecticut.gif", full størrelse: "flagsLarge / connecticut.jpg"); tileListDp.addItem (kilde: "flagg / delaware.gif", full størrelse: "flagsLarge / delaware.jpg"); tileListDp.addItem (kilde: "flagg / florida.gif", full størrelse: "flagsLarge / florida.jpg"); tileListDp.addItem (kilde: "flagg / georgia.gif", full størrelse: "flagsLarge / georgia.jpg"); tileListDp.addItem (kilde: "flagg / hawaii.gif", full størrelse: "flagsLarge / hawaii.jpg"); tileListDp.addItem (kilde: "flagg / idaho.gif", full størrelse: "flagsLarge / idaho.jpg"); tileListDp.addItem (kilde: "flagg / illinois.gif", full størrelse: "flagsLarge / illinois.jpg"); tileListDp.addItem (kilde: "flagg / indiana.gif", full størrelse: "flagsLarge / indiana.jpg"); tileListDp.addItem (kilde: "flagg / iowa.gif", full størrelse: "flagsLarge / iowa.jpg"); privat funksjon setupLabels (): void populationLabel.text = "Velg en stat"; flagsLabel.text = "Klikk på flagg for større bilde"; // Trengs, slik at våre etiketter autosize for å holde hele teksten populationLabel.autoSize = populationLabel.autoSize = TextFieldAutoSize.LEFT; flagsLabel.autoSize = flagsLabel.autoSize = TextFieldAutoSize.LEFT; private funksjon setupList (): void // Ikonet feltet angir hva ikonet skal være // Her bruker det ikonSource som vi definerte i vår dataprovider statesList.iconField = "iconSource"; statesList.width = 150; // angi høyden av radene statesList.rowHeight = 30; // angir hvor mange rader som vises i listen statesList.rowCount = 5; // Her satt vi listens dataProvider til den vi opprettet tidligere statesList.dataProvider = listDp; statesList.addEventListener (Event.CHANGE, getPopulation); privat funksjon setupTileList (): void // angi retningen for scrollBar for flislisten statesTileList.direction = ScrollBarDirection.HORIZONTAL; statesTileList.rowHeight = 60; // Hvor mange kolonner vil TileList'en ha statesTileList.columnCount = 1; // Hvor mange rader som skal vises i TileList statesTileList.rowCount = 1; statesTileList.width = 400; // Her satt vi TileList's data Provider til den vi opprettet statesTileList.dataProvider = tileListDp; statesTileList.addEventListener (Event.CHANGE, loadPic); privat funksjon setupLoader (): void // Dette er Loader vi bruker for å laste de større bildene av flaggene picLoader = new Loader (); picLoader.x = 228; picLoader.y = 117; addChild (picLoader);
Her kodes vi for våre Event Lyttere for når et element i en av listene klikkes.
Legg til følgende til Main.as
privat funksjon getPopulation (e: Event): void // Her får vi befolkningen ved å ta tak i etiketten (staten) og befolkningen // Den valgteItem.label returnerer den valgte elementet i listen populationLabel.text = "Befolkningen for "+ e.target.selectedItem.label +" er "+ e.target.selectedItem.population; Private funksjon loadPic (e: Event): void // Her legger vi inn fullSize bilde ved å få de valgte elementene fullSize var picLoader.load (ny URLRequest (e.target.selectedItem.fullSize)); // Lukk klassen // Lukk pakken
Bruke List og TileList-komponentene er en fin måte å vise lister over data og bilder på.
Du vil legge merke til i komponentparameterepanelet på komponentene som du kan sjekke og velge bestemte egenskaper.
Bildet ovenfor er for listekomponenten, egenskapene for hvilke er som følger:
"allowMultipleSelection
: en boolsk verdi som angir om flere listemner kan velges samtidig"dataprovider
: Datamodellen på listen over elementer som skal vises"aktivert
: en boolsk verdi som indikerer om komponenten kan godta brukerinngang"horizontalLineScrollSize
: en verdi som beskriver mengden innhold som skal rulles horisontalt når en rullepilen klikkes"horizontalPageScrollSize
: Antall piksler for å flytte rulletrimmen på den horisontale rullefeltet når rullefeltet spores."horizontalScrollPolicy
: verdi som angir tilstanden til den horisontale rullefeltet"horizontalLineScrollSize
: en verdi som beskriver mengden innhold som skal rulles horisontalt når en rullepilen klikkes"horizontalPageScrollSize
: han teller av piksler for å flytte rulletrimmen på den horisontale rullefeltet når rullefeltet spores"verticalScrollPolicy
: en verdi som angir tilstanden til den vertikale rullefeltet"synlig
: en boolsk verdi som angir om komponenteksemplet er synligEgenskapene til TileList er som følger:
allowMultipleSelection
: en boolsk verdi som angir om flere listemner kan velges samtidigKolonner
: Antall kolonner som er minst delvis synlige i listenkolonnebredde
: "Bredden som brukes på en kolonne i listen, i piksler.dataprovider
: Datamodellen på listen over elementer som skal visesretning
: en verdi som indikerer om komponenten TileList ruller horisontalt eller vertikalt.aktivert
: en boolsk verdi som indikerer om komponenten kan godta brukerinnganghorizontalLineScrollSize
: en verdi som beskriver mengden innhold som skal rulles horisontalt når en rullepilen klikkeshorizontalPageScrollSize
: Antall piksler for å flytte rulletrimmen på den horisontale rullefeltet når rullefeltet spores.ROWCOUNT
: Antall rader som er minst delvis synlige i listen.rowHeight
: høyden som brukes på hver rad i listen, i piksler.scrollPolicy
: "Rullepolitikken for komponenten TileList.verticalLineScrollSize
: en verdi som beskriver hvor mange piksler som skal rulles vertikalt når en rullepilen klikkes.verticalPageScrollSize
: Antallet piksler for å flytte rulletrimmen på den vertikale rullefeltet når rullefeltet blir trykket ... synlig
: en boolsk verdi som angir om komponenteksemplet er synligHjelpefilene er et flott sted å lære mer om disse egenskapene.
For å se egenskapene for etiketter, må du sjekke ut Hurtig Tips på knappene og etikettkomponentene.
Takk til http://www.state-flags-usa.com for å la meg bruke flaggbildene sine.
Takk for at du leser og fortsetter å se etter kommende komponentveiledninger!