Flash CS5 for designere TLF og ActionScript + Vinn 1 av 3 signerte kopier!

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.
 
Hvis du føler deg heldig, skriv inn Activetuts + -konkurransen til vinn en av tre signerte kopier! (Selvfølgelig kan du alltid kjøpe en kopi ...)

Introduksjon

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 textFlowInitialFormathar 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.


Trinn 1: Nytt dokument

Å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.


Trinn 2: ActionScript

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.


Trinn 3: Konfigurasjon ()

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.


Trinn 4: TextLayoutFormat Class

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.


Trinn 5: textFlowInitialFormat

Trykk på Enter (Windows) eller Return (Mac) -tasten to ganger, og skriv inn følgende:

 config.textFlowInitialFormat = charFormat;

Trinn 6: TextFlow ()

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.


Trinn 7: ContainerController

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.


Trinn 8: Test

Lagre prosjektet, og test filmen. Teksten, som vist nedenfor, vises ved hjelp av formateringsinstruksjonene du angir.

Importer uttalelser for denne øvelsen

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:

  • Den lokale datamaskinen: Flash Player ser etter en kopi av biblioteket på den lokale maskinen den spiller på. Hvis det ikke er der, hovder det for Adobe.com.
  • Adobe.com: Hvis ingen lokal kopi er tilgjengelig, vil Flash Player spørre Adobes servere for en kopi av biblioteket. Biblioteket, som Flash Player-plugin-modulen, må bare lastes ned én gang per datamaskin. Deretter bruker alle etterfølgende SWF-filer som spilles på samme datamaskin, den tidligere nedlastede kopien av biblioteket. Hvis den av en eller annen grunn ikke kan gripe den der, vil den se i mappen som inneholder SWF.
  • I mappen som inneholder SWF: Hvis Adobes servere ikke er tilgjengelige av en eller annen grunn, søker Flash Player etter biblioteket i webserverkatalogen der SWF-filen ligger. For å gi dette ekstra sikkerhetsnivået, må du laste opp biblioteksfilen manuelt til webserveren sammen med SWF-filen. Vi gir mer informasjon om hvordan du gjør dette i kapittel 15.

    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.


The Giveaway!

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!

Hvordan skriver jeg inn?

  1. Send en tweet fra oppføringssiden. For hver Twitter-tilhenger som kommer inn via lenken din, får du en ekstra oppføring.
  2. Fyll ut dine detaljer når du har gjort det. Det er det!

De tre vinnerne blir annonsert mandag 6. september. Lykke til!