Pentru a lucra in ActionScript 3 cu un element din Scena se foloseste numele lui de instanta (cel care se scrie in panoul Properties, in casuta unde e scris "<Instance Name>"), dar se pot folosi si obiectele (imagini, simboluri) din panoul Library. Acest lucru e si mai avantajos deoarece pot fi adaugate dinamic si interactiv in prezentarea Flash mai multe instante ale aceluiasi obiect din Library, folosind ActionScript.
Pentru a putea folosi in AS3 obiectele aflate in Library, trebuie ca acestea sa fie asociate cu o Clasa, prin activarea optiunii "Export for ActionScript", care se gaseste la sectiunea "Advanced" in fereastra ce se deschide cu click-dreapta pe obiectul respectiv din Library si se alege optiunea Properties (vedeti imaginea de mai jos).
Iata mai bine explicat printr-un exemplu simplu.
1. Deschideti un document Flash nou, desenati in Scena un patrat si transformati-l in Symbol Movie Clip (de la meniul
Modify -> Convert to Symbol), la "
Name" dati-i numele
Patrat (e util ca fiecare Symbol sa aibe un nume sugestiv, legat de acel obiect, ca sa fie mai usor de recunoscut).
2.Dupa ce e transformat in Symbol, acesta e adaugat automat in panoul Library. Stergeti desenul din Scena si deschideti panoul Library (din meniul
Window -> Library).
3. Click-dreapta pe numele Simbolului (Patrat) si alegeti
Properties, se va deschide o fereastra ca cea din imaginea urmatoare, in stanga (daca e nevoie apasati pe
Advanced).
4. Bifati butonul de la "
Export for ActionScript", acesta asociaza obiectul cu o clasa, a carei nume e adaugat la casuta "
Class", dand posibilitatea utilizarii lui in scriptul ActionScript.
Flash adauga automat numele obiectului din Library si ca nume al clasei. Poate fi modificat, dar de obicei se pune numele clasei acelasi cu cel dat la crearea Simbolului, pentru a sti mai usor ce obiect reprezinta. Acesta apare in coloana "
Linkage" in dreptul acelui obiect din Library (dupa cum se vede in imaginea de sus).
5. Dupa ce butonul "Export for ActionScript" e bifat si numele clasei e stabilit (Patrat), apasati OK. Clasa ce reprezinta acest obiect este creata si poate fi utilizata in ActionScript.
- "Patrat" devine o clasa copil a celei de baza, adaugata de program in campul
Base class (aici "
flash.display.MovieClip"). Astfel, "Patrat", care reprezinta obiectul din Library, devine si o clasa in document, prin care se pot crea Instante cu instructiunea
new, cu formula:
var nume_instanta:numeClasa = new numeClasa();
6. Apasati click-dreapta pe Cadru 1 in Timeline, alegeti
Actions si in fereastra care apare pt. cod ActionScript adaugati urmatorul script:
// Definire variabile a caror valori vor fi folosite pt:
// distanta 'x' si 'y' si rotire
var dist_x = 38;
var dist_y = 38;
var rot_z = 0;
// Definire bucla for care va fi executata de 3 ori
// La fiecare executie creaza, defineste si adauga cate o instanta la Patrat
for(var i:int=0; i<3; i++)
{
// Creaza instanta de obiect pt. Patrat
// Patrat este clasa ce reprezinta obiectul din Library
var ins_patrat:Patrat = new Patrat();
// Seteaza distantele 'x', 'y' si rotire
ins_patrat.x = dist_x;
ins_patrat.y = dist_y;
ins_patrat.rotationZ = rot_z;
addChild(ins_patrat); // Adauga instanta in Scena
// Modifica variabilele prin care se definesc distantele 'x', 'y' si rotirea
// Astfel, la fiecare executie "for()" instanta e adaugata in pozitie diferita
dist_x += 88;
dist_y += 88;
rot_z -= 23;
}
- Acest cod creaza si adauga in prezentarea Flash trei instante ale obiectului Patrat, fiecare cu proprietatile pentru distantele 'x', 'y' si rotire diferite. Explicatii mai detaliate sunt in script.
- Apasati "Ctrl+Enter" ca sa vedeti rezultatul.
In prezentarea urmatoare se arata cum se face acest exemplu.
- Aceasta metoda poate fi utilizata cu orice obiect care e adaugat in Library (Simboluri Button, Graphic, Imagini importate).
Prin definirea unei clase la elementele din Library se combina grafica cu programarea. In Scena se creaza elementele grafice, se transforma intr-un Symbol si pot fi sterse din Scena daca acestea nu treuie sa apara initial in prezentarea Flash, deoarece sunt stocate in Library, iar prin clasa asociata lor scriptul ActionScript poate adauga interactiv cand si unde e nevoie Instante ale lor in prezentare.
Important e ca obiectele din Library, din care vor fi create instante folosind ActionScript, sa aiba activata optiunea "
Export for ActionScript".
Clasa asociata unui element din Library poate fi editata, se pot adauga instructiuni si metode noi care sa fie aplicate instantelor create cu acea clasa.
Se da click-dreapta pe obiectul din Library care are legatura cu o clasa, si se alege Edit Class.
Dupa ce se adauga instructiunile necesare in documentul cu aceasta clasa, trebuie salvat (cu numele clasei) in acelasi director unde e si documenul FLA.
- Vedeti tutorialul Editare clasa la obiecte din Library.
Fisierul FLA cu exemplu din aceasta lectie poate fi descarcat de la:
ActionScript3 cu obiecte din Library.
Un Test simplu in fiecare zi
HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag este element de tip bloc?
<div> <img> <span><div>Web Programming and Development</div>
Care cod CSS afiseaza textul subliniat?
font-style: italic; text-decoration: underline; font-weight: 500;h2 {
text-decoration: underline;
}
Clic pe functia JavaScript care apeleaza o alta functie dupa un anumit timp.
insertBefore() setTimeout() querySelector()function someFunction() { alert("CoursesWeb.net"); }
setTimeout("someFunction()", 2000);
Clic pe instructiunea care returneaza numarul total de elemente dintr-un array asociativ.
count($array) count($array, 1) strlen()$food =["fruits" =>["banana", "mar"), "veggie" =>["ceapa", "rosie"));
$nr_food = count($food, 1);
echo $nr_food; // 6
Indicati Viitorul Perfect la negativ al verbului din paranteze, in propozitia: "The child (to not play) by Sunday".
has't played haven't been playing will haven't playedThe child will haven't played by Sunday.
- Copilul nu s-ar fi jucat pana duminica.
Indicati Viitorul Perfect pentru verbul "contar" (a povesti) la forma "Él".
habrá contado va a contar contabaÉl no habrá contado el cuento.
- El nu ar fi spus povestea.