Mye har endret seg mellom hvordan tekst ble håndtert i Flash CS4 og Flash CS5. Vi synes nå det er en god tid å trekke opp en avføring, sette seg ned og se på meget bredt, hva man trenger å vite om TLF før "koble opp" en øvelse eller et prosjekt ved hjelp av ActionScript.
Følgende er en øvelse fra Foundation Flash CS5 For Designers av Tom Green & Tiago Dias.Med den nye TextLayoutFramework (TLF), finnes tekst i disse tingene beholdere. De kan enten fysisk tegnes på scenen ved hjelp av tekstverktøyet og gi et forekomstnavn eller, som det er vanligste, kan opprettes ved kjøring. Du vet også at teksten kan formateres og manipuleres ved hjelp av panelet Egenskaper. Den ryddige tingen her er ordet eiendommer. Hvis det er en eiendom i panelet, er motparten sin i ActionScript. Den dårlige nyheten er, ActionScript er stein, kald dum. Det har ingen anelse, for eksempel hva en beholder er til du forteller det å lage en. Det vil ikke formatere tekst før du forteller det hva du skal gjøre. Det vil ikke engang sette teksten på scenen før det blir fortalt å gjøre det.
De fleste prosjektene starter med at du forteller Flash for å lage en Konfigurasjon ()
objekt, som brukes til å fortelle Flash, er det en beholder på scenen og hvordan man håndterer tekstlayoutrammen for ting i containeren. Selve utseendet håndteres av Løpende mengde ord ()
klassen, som tar sine ordrer, så å si, fra Konfigurasjon ()
gjenstand.
Naturligvis, å være dum, den Konfigurasjon ()
objektet må fortalt nøyaktig hvordan man skal håndtere teksten i beholderen. Standardformatet er satt gjennom en egenskap i konfigurasjonsklassen som kalles textFlowInitialFormat
. For å endre det, bruker du bare TextlayoutFormat ()
klasse for å sette skrifter, farger, justering og så videre, og så fortell sjefen-Konfigurasjon ()
-det er textFlowInitialFormat
har endret seg til de du har satt inn med TextLayoutFormat ()
.Sjefen vil få det, men han er ikke veldig lyst, så du må neste gang fortelle ham å overlevere det faktiske arbeidet til et annet medlem av ledelsen, Løpende mengde ord ()
klasse. Denne klassen har det overordnede ansvaret for ord i en beholder. Å være like svak som sjefen, Løpende mengde ord ()
må bli fortalt hva et avsnitt er (ParagraphElement), hvor bredt avsnittet er (SpanElement), om noen grafikk er innebygd i avsnittet (InLineGraphicElement), om noen av teksten inneholder koblinger (Link Element), og så videre. Ikke bare det, men det må fortelles hvilken tekst som legges til beholderen slik at den kan håndtere linjelengden og legge til noen barn (addChild) som inneholder den formateringen slik at brukeren faktisk kan se den.
De Løpende mengde ord ()
klasse, igjen ikke å være for veldig lyst, vil da overlevere jobben til et annet medlem av ledelsen, IFlowComposer ()
klasse, hvis eneste jobb er å administrere oppsettet og visning av tekstflyten i eller mellom containene. Strømskomponenten fullfører prosessen ved å bestemme hvor mye tekst går inn i en beholder og legger deretter linjene med tekst til sprite. Dette oppnås ved bruk av addController ()
metode, som skaper en ContainerController ()
objekt hvis parametre identifiserer beholderen og dens egenskaper.
Det vanlige siste trinnet er å fortelle FlowComposer å oppdatere kontrollerne og legge teksten på scenen i henhold til hvordan de andre medlemmene av teamet har fortalt Konfigurasjon () Motta hvordan prosjektstykket skal håndteres.
Med denne informasjonen i hånden, la oss fortsette å jobbe med TLF i ActionScript. Vi skal lage en kolonne med tekst med ActionScript.
Åpne et nytt Flash ActionScript 3.0-dokument, endre navn på Lag 1 til handlinger, velg den første rammen av handlingslaget, og åpne handlingspanelet.
Klikk en gang i Skriptruten, og skriv inn følgende:
var myDummyText: String = "Introduksjonen av Adobe CS5-produktlinjen gir noen kraftige typografiske verktøy i dine hender, særlig en ny API (Application Programming Interface) som heter Type Layout Framework (TLF) - og med som flere verktøy i Adobe-linjen Nudge nærmer seg et sammenføyningspunkt med Flash, feltet for typografisk bevegelsesgrafikk på nettet er i ferd med å bevege seg inn i territorium som ennå ikke er utforsket. For å starte utforskningen må du forstå hvilken type som er i Flash, og like viktig , hva du kan gjøre med det for å respektere kommunikasjonsbudskapene til innholdet ditt. ";
Du trenger litt tekst for å legge til scenen. Denne strengen er tredje avsnitt i dette kapittelet. Nå som du har teksten til å gå inn i containeren, må du laste inn klassen som skal klare den.
Trykk Enter (Windows) eller Return (Mac) -tasten, og legg til følgende linje kode:
var config: Konfigurasjon = ny konfigurasjon ();
Som du kanskje har lagt merke til, så snart du opprettet objektet Configuration (), importerte Flash klassen-flashx.textLayout.elements.Configuration
-hvis primære oppgave er å kontrollere hvordan TLF oppfører seg. Den neste kodeblokken forteller TLF hvordan teksten kommer til å vises på scenen.
Trykk på Enter (Windows) eller Return (Mac) -tasten to ganger, og skriv inn følgende:
var charFormat: TextLayoutFormat = ny TextLayoutFormat (); charFormat.fontFamily = "Arial, Helvetica, _sans"; charFormat.fontSize = 14; charFormat.color = 0x000000; charFormat.textAlign = TextAlign.LEFT; charFormat.paddingLeft = 100; charFormat.paddingTop = 100;
TextLayoutFormat-klassen, som vi sa tidligere, er hvordan teksten i en container er formatert. Egenskapene i denne klassen påvirker formatet og stilen til teksten i en beholder, et avsnitt eller en enkelt tekstlinje. I dette tilfellet forteller vi Flash hvilke skrifttyper som skal brukes, størrelsen, fargen, hvordan den skal justeres (merk hovedboksen som brukes til justeringen), og polstring som beveger den av kantene på beholderen.
Før du går videre, trenger du å gjøre noe. Det er et kodende problem. Rull opp til importangivelsene. Hvis du ser denne linjen-importer flashx.textLayout.elements.TextAlign;
-Fortsett til neste kodeblokk. Hvis du ikke gjør det, må du slette denne linjen i kodeblokken som er angitt: charFormat.textAlign = TextAlign.LEFT;
. Ønsket charFormat.textAlign =
. Skriv inn de to første bokstavene i klassen (Te
), trykk Ctrl + mellomrom, og kodetipset skal vises. Finne Tekstjustering
, og dobbeltklikk på den. Dette bør legge til den manglende importoppstillingen. For å bevare sunnheten, vil vi gi en liste over importerklæringene som skal vises på slutten av hver øvelse. Vi anbefaler sterkt at du sammenligner listen over importopplysninger mot listen som presenteres, og hvis du mangler noen, legger du til koden din.
Nå som du vet hvordan teksten skal formateres, må du fortelle konfigurasjonen () -objektet for å bruke formateringen. Hvis du ikke gjør det, vil det gjelde hva som helst standardinnstilling det velger.
Trykk på Enter (Windows) eller Return (Mac) -tasten to ganger, og skriv inn følgende:
config.textFlowInitialFormat = charFormat;
Trykk Enter (Windows) eller Return (Mac) -tasten, og skriv inn følgende kodeblokk:
var textFlow: TextFlow = ny TextFlow (config); var p: ParagraphElement = nytt ParagraphElement (); var span: SpanElement = nytt SpanElement (); span.text = myDummyText; p.addChild (span); textFlow.addChild (p);
De TextFlow ()
objektet må være her fordi jobben er å administrere all tekst i containeren. Konstruktøren-TextFlow (config)
-Lar TLF vite at det er å bruke config-objektet som er opprettet tidligere, slik at det nå vet hvordan man skal formatere innholdet i beholderen og til og med beholderen selv.
Den neste konstruktøren-ParagraphElement ()
-forteller i hovedsak Flash hvordan et avsnitt skal håndteres. Det er bare en her, så det trenger ikke en parameter.
Det endelige trinnet er å få all formatering og layout i beholderen på scenen.
Trykk Enter (Windows) eller Return (Mac) -tasten, og legg til disse to siste linjene:
textFlow.flowComposer.addController (ny ContainerController (dette, 500, 350)); textFlow.flowComposer.updateAllControllers ();
Den første linjen legger til ContainerController
og forteller Flash beholderen som administreres, er den nåværende DisplayObject (dette
), som for øyeblikket er scenen, og å sette sine dimensjoner til 500 piksler bredt med 350 piksler høyt.
Lagre prosjektet, og test filmen. Teksten, som vist nedenfor, vises ved hjelp av formateringsinstruksjonene du angir.
Dette er importklæringene for denne øvelsen:
importere flashx.textLayout.elements.Configuration; importer flashx.textLayout.formats.TextLayoutFormat; importer flashx.textLayout.formats.TextAlign; importer flashx.textLayout.elements.TextFlow; importere flashx.textLayout.elements.ParagraphElement; importere flashx.textLayout.elements.SpanElement; importere flashx.textLayout.container.ContainerController;
Bruk ActionScript til å lage og formatere beholderen og dens tekst
Selv om denne kodende oppgaven kan synes å være en ganske innviklet prosess, kan vi forsikre oss om at det ikke er det; Det blir nesten andre natur når du begynner å bruke ActionScript for å spille med tekst i containene.
Med introduksjonen av Text Layout Format, har du muligheten til å lage tekst, formatere tekst, sette den i kolonner, og generelt manipulere den ved hjelp av ActionScript, og har kraftig utvidet dine kreative muligheter. Før du blir glad for dette, må du vite at ordet Work er det av en grunn.
Eventuelle TLF-tekstobjekter du lager, vil stole på et bestemt TLF ActionScript-bibliotek, også kalt a runtime felles bibliotek (RSL). Når du jobber på scenen i Flash-grensesnittet, gir Flash biblioteket. Dette er ikke tilfelle når du publiserer SWF og plasserer den på en nettside. Det må være tilgjengelig, akkurat som Flash Player, på brukerens maskin. Når SWF laster, skal den jakte på biblioteket på tre steder:
Når du publiserer en SWF-fil som bruker TLF-tekst, oppretter Flash en ekstra fil med navnet textLayout_X.X.X.XXX.swz (der Xs er erstattet av versjonsnummeret) ved siden av SWF-filen. Du kan valgfritt velge å laste opp denne filen til webserveren din sammen med SWF-filen. Dette tillater det sjeldne tilfellet der Adobes servere ikke er tilgjengelige av en eller annen grunn. Hvis du åpner filen der du lagret denne oppgaven, vil du se både SWF og, som vist i Figur 6-25, SWZ-filen.
.Swz-filen inneholder tekstlayoutrammen.
Vi kjører denne giveaway litt annerledes siden Adam fra Aetuts + skjøvet Wildfire min vei ... Wildfire er en strålende kampanjebygger og gjør innspill til konkurranser et stykke kake! Hvis du vil være med en sjanse til å vinne en av tre signerte kopier av "Foundation Flash CS5 for Designers", bare skriv inn!
De tre vinnerne blir annonsert mandag 6. september. Lykke til!