Stefan Petre

O saptamana cu Actionscript 3

Nu am mai lucrat cu ActionScript de un an, si atunci am lucrat cu versiunea 2. Am avut ocazia sa imi testez capabilitatea de a lucra cu ceva nou odata cu un proiect foarte interesant. Proiectul este o aplicatie de comanda carti postale cu posibilitati de particularizare. Clientii au la dispozitie o serie de modele predefinite si categorisite, dar inainte de a comanda sau trimite felicitarea au posibilitatea de adauga elemente grafice, schimba imaginea de fundal si insera texte cu tot tacamul: rotire, redimensionare, schimbat culoare, tip caractere, marime.

Trebuie sa mentionez ca nu am experienta cu ActionScript, pana la acest proiect am facut numai lucruri simple. Eram curios de modificarile din ActionScript versiunea 3 fata de versiunea 2. Primul lucru ce m-a multumit au noile metode si propietati ale obiectelor specifice Flash. Fac mai mult sens si sunt normale. In versiunea SctionScript 2 numele unor metode erau prea lungi, denumite ciudat. Cat despre lucrul OOP ... Mi-am zis: "Da domnule". Daca urmatorul standard ECMAScript va avea influente mari din partea Mozilla si Adobe nu o sa fiu deloc deranjat.

Binenteles, fiind noob in ActionScript 3 a trebuit sa stau cu manualul deschis la capitolul de referinte pentru obiectele Flash. Normal ca am intampinat probleme cu anumite obiecte, explicatiile ne fiind suficient explicate sau, mai rau, exemplele erau furnizate in format CS4. Asa ca doresc sa va impartasesc rezolvarea la 2 din problemele intampinate. Am avut probleme cu modul in care se pot accesa resursele din lirarie. Daca in ActionScript 2 puteai sa dai un nume de identificare resurselor, in ActionScript 3 se creaza automat o clasa pentru a accesa obiectul.

Atasarea de imagini din librarie butoanelor

In cazul imaginilor, obiectele create sunt extensii ale obiectului 'BitmapData'. Se adauga o imagine in librarie si in 'Linkage properties' se face imaginea disponibila pentru acces din ActionScript. Pentru exemplu sa presupunem ca alegem numele clasei ca fiind 'MyImage'. Pentru a atasa imaginea ca icon al unui buton:

MyButton.setStyle('icon', new Bitmap(new MyImage(16, 16)));

Nu se poate folosi direct obiectul 'BitmapData' pentru ca defineste doar informatia grafica. Trebuie sa sa construiasca un obiect 'Bitmat' pe baza informatiei din librarie.

Atasarea unui nou font obiectelor TextField

Pentru fonturi, obiectele extind clasa 'Font'. Obiectele TextField trebuie sa aiba propietatea 'embedFonts' setata pe 'true'. Pentru exemplu sa presupunem ca numele clasei este 'MyFont'.

var newField = new TextField();
newField.text = "Your text here";
newField.embedFonts = true;
var useFont = new MyFont();
var MyFormat = new TextFormat();
MyFormat.font = useFont.fontName;
newField.setTextFormat(MyFormat);

Deci nu se poate trimite direct obiectul 'Font', trebuie sa se trimita valoarea propietatii 'fontName'. De ce? Nu am inteles.

Sper sa ajute si pe altii care au avut aceeasi problema.

Comentarii (0)

Nu sunt inca comentarii.

Adauga comentariu
* Campurile marcate sunt obligatorii
eyecon.ro is using cookies to personalise content and ads, to provide social media features and to analyse our traffic. I also share information about your use of my site with my social media, advertising and analytics partners.See details

By continuing to browse the site you are agreeing to my use of cookies. ✔ Continue