Pentru a crea un MovieClip desenaţi în scenă un obiect oarecare,
selectaţi-l şi apăsaţi tasta F8 (sau din meniul obţinut prin apăsarea
butonului drept al mouse-ului selectaţi “Convert to Symbol”).
Crearea
unui simbol de tip MovieClip - in imagine cu punctul de inregistrare in
centrul obiectului; in imaginea aceasta a fost apasat butonul Advanced
În fereastra obţinută selectaţi tipul MovieClip şi punctual de
înregistrare în colţul din stânga-sus. Fiecare MovieClip are un punct
de origine (de coordinate 0,0). Atunci când creaţi un MovieClip, prin
selectarea punctului de înregistrare nu faceţi altceva decât să
specificaţi poziţia acestui punct relative la elementele grafice pe
care le convertiţi în MovieClip. Să presupunem de exemplu că veţi
converti un cerc în MovieClip şi apoi doriţi să rotiţi acest cerc (din
script). Dacă aţi selectat ca punct de înregistrare colţul din stânga
sus el se va roti în jurul acestui punct. Dacă aţi selectat punctual de
înregistrare în centrul obiectului, rotirea sa în jurul centrului îl va
lăsa în aceeaşi poziţie.
Două bile prima cu punctual de inregistrare în colţul din stânga sus, a doua cu punctual de înregistrare în centrul bilei.
| Aceleasi bile dupa ce au fost rotite 180o.
|
Punctul de înregistrare este marcat după convertirea în MovieClip printr-un semn +.
Se observă cum rotirea depinde în mod esenţial de locul în care a fost ales punctual de înregistrare.
Odată creat, un MovieClip va fi adăugat bibliotecii de obiecte.
Nu intrăm în amănunte în ceea ce priveşte biblioteca de obiecte… putem
să reţinem că în acea zonă se află toate elementele Flash folosite în
Clip-ul ce-l realizăm (sunete, imagini, MovieClip-uri, butoane etc).
Pentru a ajunge rapid la biblioteca obiectului Flash pe care-l
realizaţi puteţi apăsa combinaţia de taste CTRL+L.
În imaginea în care am convertit elemental grafic în MovieClip
putem observa ca au fost bifate opţiunile “Export for ActionScript” şi
“Export in 1st Frame” precum şi că a fost completat identificatorul cu
valoarea “bila”. Aceste operaţii au rolul de a asocial un nume
obiectului pe care tocmai l-am realizat, nume care ne va folosi atunci
când vom dori ca să aducem din Biblioteca Flash o instanţă a acestui
obiect în scenă (aşadar identificatorul de care ne vom folosi va fi
“bila”; acest identificator se mai numeste si identificator de legatura
sau "Linkage" - deci cand veti intalni ca trebuie sa setati
identificatorul linkage intr-un anume fel, nu ezitati sa puneti numele
indicat in campul "Identifier").
[
editează]
Evenimente associate unui MovieClipFiecare obiect (din Programarea orientată obiect) are o serie de
metode. Este şi cazul obiectului nostrum de tip MovieClip care are un
număr de funcţii-eveniment. Funcţiile de tip eveniment se execută
automat în momentul în care se produce acel eveniment. Evenimentele ce
au legătură cu un MovieClip sunt:
- onData – evenimentul recepţionării unor date
- onDragOut – evenimentul tragerii mouseului în poziţia apăsat înafara obiectului
- onDragOver – evenimentul tragerea mouseului apăsat peste obiect
- onEnterFrame – evenimentul intrării într-un nou cadru (se
produce de mai multe ori într-o secundă în funcţie de cum a fost ales
FrameRate-ul filmului).
- onKeyDown – evenimentul apăsării untie taste
- onKeyUp – evenimentul eliberării unei taste
- onKillFocus – evenimentul selectării altui obiect
- onLoad – evenimentul încărcării în memorie a obiectului
- onMouseDown – evenimentul apăsării butonului stg al mouseului
- onMouseMove – evenimentul mişcării mouseului
- onMouseUp – evenimentul eliberării butonului stâng al mouseului
- onPress – evenimentul apăsării MovieClip-ului (cu mouseul)
- onRelease – evenimentul eliberării butonului mouseului deasupra MovieClip-ului
- onReleaseOutside
- onRollOut – evenimentul mutării cursorului mouseului înafara MovieClip-ului
- onRollOver – evenimentul mutării cursorului mouseului deasupra MovieClip-ului
- onSetFocus – evenimentul selectării MovieClip-ului
- onUnload – evenimentul ştergerii MovieClip-ului din memorie
[
editează]
Utilizarea MovieClip-ului[
editează]
Folosirea în animaţii create direct în scenăRealizarea animaţiilor din interfaţa Flashului, fără a folosi
ActionScript este extreme de facilă: În partea superioară a aplicaţiei
veţi observa o serie de dreptunghiuri înşiruite. Ele reprezintă
cadrele. Deocamdată aveţi selectat primul cadru (pentru că oricum nu
mai aveţi şi altele).
Aduceţi în scenă un MovieClip din librarie (CTRL+L) şi aveţi
grijă ca pe layerul pe care îl poziţionaţi să nu mai existe alt
MovieClip deoarece la un moment dat o animaţie poate avea loc doar pe
un singur layer(un layer este un rand de dreptunghiuleţe. Din partea
stângă a şirului de cadre, aţi putea adăuga încă un layer dacă aveţi
nevoie de două animaţii simultane). Selectaţi cadrul cu numărul 25 (de exemplu), apăsaţi tasta F6
pentru a insera un nou cadru-key (cadrele key au rolul cel mai
important în animaţiile effectuate direct în scenă, ele fiind locurile
în care se poate schimba ceva esenţial în animaţie – ca de exemplu
poziţia obiectului).
Repoziţionaţi MovieClip-ul în altă parte a scenei (având noul
cadru-key selectat), efectuaţi click dreapta pe primul cadru (în care
era iniţial situate MovieClip-ul) şi selectaţi opţiunea Create
MotionTween.
Animaţia este gata (apăsaţi CTRL+ENTER pentru a o testa).
Realizarea animatiei din interfata Flashului:
a-copierea MovieClip-ului in cadrul 1,
b-selectarea cadrului final al animatiei,
c-inserarea noului keyframe si mutarea MovieClip-ului in alta pozitie,
d-selectarea primului cadru, click dreapta si alegerea optiunii de creere a animatiei (create Motion Tween),
e-daca
animatia este corecta va apare o sageata albastra intre primul cadru si
ultimul cadru al animatiei (altfel probabil ca mai aveti inca un
MovieClip pe acelasy layer)
O animaţie interesantă realizată numai folosind interfaţa Flash-ului, puteţi găsi
aici.
[
editează]
Folosirea în animaţii create prin intermediul ActionScript-uluiPentru animarea MovieClip-ului (MC) din ActionScript trebuie mai
întâi să aducem în scenă (din bibliotecă) o instanţă a obiectului.
Deorece obiectul pe care l-am creat i-am atribuit ca identificator
numele “bila”, ne vom folosi de acesta pentru a crea animaţia în
ActionScript. Fiecare obiect din scenă are un identificator propriu. Am
putea să aducem la un moment dat în scenă mai multe obiecte cu
identificatorul “bila” si el ear trebui să poată fi apelate în mod
independent. Din acest motiv, fiecărei instanţe a unui obiect adus din
bibliotecă I se atribuie un nume unic (nume de instanţă). La aducerea
instanţei în scenă, înafara stabilirii unui nume, trebuie să hotărâm pe
ce nivel va sta obiectul nostru. Nivelul este cel care hotărăşte care
obiect se vede deasupra căruia (de exemplu un obiect care se află pe
nivelul 3 se va vedea în spatele unuia de pe nivelul 4. obiectele aduse
din script sunt de obicei poziţionate peste obiectele construite din
interfaţa Flash-ului şi care sunt deja în scenă). Pentru a fi siguri că
nu adăugăm obiectul nostru pe un nivel care deja este ocupat de alt
obiect, putem să stabilim ca nivelul pe care îl adăugăm să fie
următorul după cel mai mare. Acest nivel îl aflăm prin executarea
funcţiei: _root.getNextHighestDepth(). Aşadar, pentru a adăuga noul obiect în scenă ne vom folosi de linia (scrisa in primul cadru al filmului Flash):
_root.attachMovie("bila","bila1",_root.getNextHighestDepth());
Numele-identificator din scenă este aşadar “bila1” şi nun e
interesează atât de mult pe ce nivel se află aceasta. Pentru a anima
bila (de fapt o vom muta pe axa x) ne vom folosi de faptul că
evenimentul “onEnterFrame” se produce de un număr de ori egal cu
număruld e cadre pe secundă a filmului Flash şi de proprietatea _x care
indica poziţia obiectului pe axa oX. Codul din primul cadru va deveni
aşadar:
_root.attachMovie("bila","bila1",_root.getNextHighestDepth());
_root.bila1.onEnterFrame = function(){
_root.bila1._x++;
}
Atunci când este vorba de animare din script, aceasta este de
obicei realizată în cadrul funcţiilor de tip onEnterFrame. Aveţi
exemplu pentru MovieClip-ul “bila1” cum se foloseşte această funcţie.
Încercaţi şi dumneavoastră să animaţi bila din ActionScript, nu numai
pe coordonata x ci şi pe y. Un exemplu vi-l voi furniza eu în
continuare:
_root.attachMovie("bila","bila1",_root.getNextHighestDepth());
_root.bila1.onEnterFrame = function(){
_root.bila1._x++;
_root.bila1._y=100+Math.sin(_root.bila1._x/20)*20;
}