Flash CS3 Tegning API, ActionScript 3, Shape Class
En av favoritt tingene mine å gjøre i Flash er å trekke inn på scenen. Men jeg snakker ikke om tegning med Flash tegneverktøyer som Rektangel eller Oval tool. I denne opplæringen lærer vi det grunnleggende for tegning med ActionScript 3 og tegning API.

Jeg nøler med å snakke for mye om OOP-programmering og klasser i mine nybegynnerveiledninger, fordi det bare gjør ting mer komplisert. Men denne opplæringen er et unntak. Det er perfekt for å introdusere det grunnleggende konseptet for OOP-klasser. En OOP-klasse i ActionScript er bare en forhåndsbygd haug med informasjon, kalt egenskaper og metoder. Denne forhåndsbygde informasjonen sparer programmereren mye tid ved koding av ActionScript fordi det ikke er nødvendig å skrive om denne informasjonen i hvert program som krever bruk av en bestemt klasse.

I denne opplæringen bruker vi Shape-klassen, dens forhåndsdefinerte Grafikkegenskaper og flere av dens metoder for å tegne en enkel sirkel på scenen.

Grafikkegenskap
lineStyle-metoden
startFill-metoden
drawCircle-metoden
endFill () -metoden

Det første trinnet vårt er å lage et Actions-lag på tidslinjen, klikke på Frame 1 og åpne Actions-panelet (Window - Actions). Vår første kodelinje vil opprette en ny variabel som holder sirkelen.

var myCircle: Shape = new Shape ();

I koden ovenfor oppretter vi en ny variabel og navngir den som "myCircle". Vi setter datatypen for denne nye variabelen til Form. På den andre siden bruker vi ny nøkkelord for å opprette en ny forekomst av Shape-klassen.

Hvis du har brukt Flash-tegneverktøyene, vet du at en form har både en strek og en fylling. Når du bruker Shape-klassen for å tegne, har du også en strek og fyll. I løpet av de neste kodelinjene definerer vi Stroke and Fill for myCircle.

myCircle.graphics.lineStyle (2, 0x000000);

I koden over setter vi inn Strokeverdiene med lineStyle-metoden til Grafikkegenskapen. Vi vil angi verdien for bredden på strek i piksler og fargen på strek med en heksadesimal verdi. Over har vi satt strek for vår sirkel til en bredde på 2 piksler og en farge på svart.

Neste, vil vi fylle sirkelen. Igjen vil vi bruke grafikkegenskapen og dens beginFill-metode. De to verdiene som vi kan kontrollere for fylling av sirkelen er fargen og alfa. Det kreves at du angir en verdi for fargen, og hvis du ikke gjør det, vil Flash bli veldig opprørt. Men å stille inn alfaverdien er valgfritt. La oss sette fyllet for sirkelen vår til rød. Igjen bruker vi det heksadesimale.

myCircle.graphics.beginFill (0xff0000);

OK, nå må vi fortelle Flash hvor vi skal tegne sirkelen på scenen. Som du forventer, må du angi en verdi for X- og Y-aksene og radius for sirkelen. Vi vil gjøre dette med drawCircle-metoden som er en del av grafikkegenskapen.

myCircle.graphics.drawCircle (100, 200, 50);

I denne kodelinjen ber vi Flash om å tegne vår sirkel 100 piksler fra øvre venstre hjørne av scenen langs X-aksen og 200 piksler langs Y-aksen. Vår sirkel vil ha en radius på 50. Når du setter disse verdiene, må du passe på rekkefølgen du oppgir dem i koden. Din første verdi er for X-aksen og den andre verdien er for Y-aksen. Den tredje er for radius. Hvis du gir Flash disse verdiene ute av drift, vil du få noen uventede resultater.

Til slutt må vi legge sirkelen vår som et barnevisningsobjekt til visningslisten.

addChild (myCircle);

Å, jeg forlot vår ene kodelinje! Selv om koden vår vil fungere som den er, har vi utelatt endFill () -metoden som vil "lukke" tegneprosessen. Dette er egentlig ikke nødvendig fordi endFill () ringes automatisk. Men det er god praksis å legge den til i koden din rett før addChild ().

myCircle.graphics.endFill ();

Her er den komplette koden.

Copyright 2018 Adobe Systems Incorporated. Alle rettigheter forbeholdt. Adobes produktskjermbilder er skrevet ut på nytt med tillatelse fra Adobe Systems Incorporated. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fyrverkeri, Bidra, Captivate, Flash Catalyst og Flash Paper er / er enten [a] registrert varemerke [s] eller et varemerke [s] fra Adobe Systems Incorporated i USA og / eller andre land.