„Flash CS3“ piešimo API, „ActionScript 3“, formos klasė
Vienas iš mano mėgstamiausių dalykų, kuriuos reikia padaryti „Flash“ programoje, yra piešti ant scenos. Bet aš nekalbu apie piešimą naudojant „Flash“ piešimo įrankius, tokius kaip stačiakampis ar ovalas. Šiame vadove išmoksime piešimo pagrindus naudodami „ActionScript 3“ ir „Drawing API“.

Aš labai nesiryžtu savo pradedančiųjų vadovėliuose kalbėti apie OOP programavimą ir klases, nes tai tik padaro viską sudėtingesnį. Bet šis mokymas yra išimtis. Tai puikiai tinka supažindinti su pagrindine OOP klasių koncepcija. „ActionScript“ OOP klasė yra tik iš anksto sukurta informacijos krūva, vadinama savybėmis ir metodais. Ši iš anksto sukurta informacija sutaupo programuotojui daug laiko koduojant „ActionScript“, nes nebūtina perrašyti šios informacijos kiekvienoje programoje, kuri reikalauja naudoti tam tikrą klasę.

Šiame vadove mes panaudosime „Shape“ klasę, jos iš anksto apibrėžtą „Grafikos“ ypatybę ir kelis jos metodus, kad scenoje nupieštume paprastą apskritimą.

Grafikos ypatybė
lineStyle metodas
beginFill metodas
„drawCircle“ metodas
endFill () metodas

Pirmasis mūsų žingsnis yra sukurti Veiksmų sluoksnį „Laiko juostoje“, spustelėkite 1 rėmelį ir atidarykite Veiksmų skydelį (langas - Veiksmai). Mūsų pirmoji kodo eilutė sukurs naują kintamąjį, kuris laikys apskritimą.

var myCircle: Shape = new Shape ();

Aukščiau pateiktame kode sukuriame naują kintamąjį ir pavadiname jį „myCircle“. Šio naujo kintamojo duomenų tipą nustatome į Figūra. Kitoje pusėje mes naudojame nauja raktinis žodis, kad būtų sukurtas naujas „Shape“ klasės egzempliorius.

Jei naudojote „Flash“ piešimo įrankius, žinote, kad forma turi ir brūkšnį, ir užpildymą. Kai piešimui naudojate „Shape“ klasę, taip pat turite „Stroke and Fill“. Kitose kodo eilutėse mes apibrėžsime „myCircle“ brūkšnį ir užpildymą.

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

Aukščiau pateiktame kode mes nustatome brūkšnio reikšmes naudodami grafikos ypatybės „lineStyle“ metodą. Mes nustatysime brūkšnio pločio vertę pikseliais ir brūkšnio spalvą su šešioliktainė reikšme. Aukščiau mes nustatėme, kad mūsų apskritimo brūkšnys būtų 2 pikselių pločio ir juodos spalvos.

Kitas, mes užpildysime apskritimą. Vėlgi naudosime ypatybę Grafika ir jos pradžios metodą. Dvi vertės, kurias galime kontroliuoti užpildydami apskritimą, yra spalva ir alfa. Būtina nustatyti spalvos vertę, o jei to nepadarysite, „Flash“ labai suerzins. Bet alfa vertės nustatymas yra neprivalomas. Nustatykime, kad užpildymas už mūsų apskritimo būtų raudonas. Vėlgi naudojame šešioliktainį.

„myCircle.graphics.beginFill“ (0xff0000);

Gerai, dabar turime pasakyti „Flash“, kur scenoje nupiešti apskritimą. Kaip jūs tikėjotės, turite nustatyti X ir Y ašių vertę ir apskritimo spindulį. Tai padarysime su „drawCircle“ metodu, kuris yra grafikos ypatybės dalis.

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

Šioje kodo eilutėje mes liečiame „Flash“ nubrėžti savo apskritimą 100 pikselių nuo viršutinio kairiojo scenos kampo išilgai X ašies ir 200 pikselių išilgai Y ašies. Mūsų apskritimo spindulys bus 50. Kai nustatysite šias vertes, pasirūpinkite, kad įrašytumėte jas į kodą. Pirmoji jūsų vertė bus X ašiai, o antroji - Y ašies. Trečiasis skirtas spinduliui. Jei pateiksite „Flash“ šias vertes netinkamai, gausite keletą netikėtų rezultatų.

Galiausiai turime įtraukti savo ratą kaip vaikų rodymo objektą į rodymo sąrašą.

addChild („myCircle“);

O aš palikau mūsų vieną kodo eilutę! Nors mūsų kodas veiks taip, kaip yra, mes palikome „endFill ()“ metodą, kuris „uždarys“ piešimo procesą. Tai tikrai nėra būtina, nes „endFill“ () vadinamas automatiškai. Tačiau gera praktika pridėti jį prie savo kodo prieš pat „addChild“ ().

myCircle.graphics.endFill ();

Čia yra visas kodas.

Autorių teisės 2018 m. „Adobe Systems Incorporated“. Visos teisės saugomos. „Adobe“ produkto ekrano kopija (-os) perspausdinta gavus „Adobe Systems Incorporated“ leidimą. „Adobe“, „Photoshop“, „Photoshop Album“, „Photoshop Elements“, „Illustrator“, „InDesign“, „GoLive“, „Acrobat“, „Cue“, „Premiere Pro“, „Premiere Elements“, „Bridge“, „After Effects“, „InCopy“, „Dreamweaver“, „Flash“, „ActionScript“, „Fejerverkai“, „Prisidėkite“, „Captivate“, „Flash Catalyst“ ir „Flash“ popierius yra (yra) registruotas (-i) prekės ženklas (-ai) arba „Adobe Systems Incorporated“ prekės ženklas (-ai) JAV ir (arba) kitose šalyse.