Curs Flash

In acest tutorial e prezentat modul de creare a unei animatii a carei miscari sunt sincronizate cu un interval de timp specificat. Pentru acest tip de animatie facuta cu ActionScript se foloseste Clasa Timer.
Timer este o clasa utilizata pentru executarea codurilor dupa un interval de timp specificat.
Fiecare obiect "Timer" declanseaza evenimentul TimerEvent.TIMER la o anumita frecventa de timp specificata. Astfel, functia apelata prin acest eveniment se executa repetat, la acel interval de timp, iar prin modificarea frecventa a aspectului vizual al unui obiect poate crea efectul de animatie.
Animatia creata cu TimerEvent nu depinde de numarul de cadre pe secunda (precum la cea cu ENTER_FRAME), ci de frecventa de timp setata la utilizarea clasei Timer. Aceasta animatie poate fi afectata daca sistemul sau executia aplicatiei Flash este ocupata in momentul cand trebuie apelata functia la evenimentul TimerEvent.TIMER.


• Pasii generali pentru crearea unei animatii cu clasa Timer si evenimentul TimerEvent.TIMER sunt urmatorii:
  1. Se creaza instanta de obiect la clasa Timer, la argument se adauga intervalul de timp (in miimi de secunda); pe langa acesta poate fi specificat si numarul de repetari.
            var nume_var:Timer = new Timer(interval, repetari);
    - Intervalul de timp poate fi setat si cu proprietatea delay, iar numarul de repetari cu repeatCount (valoarea 0 indica fara limita)
  2. Se creaza o functie care trebuie apelata periodic la declansarea TimerEvent.
            function numeFunctie(evt:TimerEvent):void {
                // Codul functiei
            }
  3. Se inregistreaza detectarea evenimentului TimerEvent.TIMER (la instanta-Timer), care apeleaza functia.
            instantaTimer.addEventListener(TimerEvent.TIMER, numeFunctie);
  4. Se aplica metoda start() la "instantaTimer". Aceasta porneste declansarea evenimentului TimerEvent.TIMER la intervalul de timp specificat.
            instantaTimer.start();

• Alt eveniment ce poate fi utilizat la clasa Timer este TIMER_COMPLETE. Acesta e declansat cand s-a efectuat complet numarul de repetari.
• Metodele clasei Timer sunt: Iata printr-un exemplu cum se aplica aceste evenimente si metode ale clasei Timer pentru a crea o animatie (Explicatii pt. codul ActionScript sunt in documentatia din script):
1. Deschideti un document Flash nou, desenati in Scena o figura geometrica sau orice desen doriti (aici s-a folosit un dreptunghi, desenata cu "Rectangle Tool") si transformati-l in Movie Clip (de la Modify - Convert to Symbol. Dati instantei din Scena (desenului transformat in MovieClip) un nume, aici e folosit "drept1" (in panoul Properties, in casuta de sus, unde e scris "<Insance Name>")
2. Dati click-dreapta pe Cadru 1 din Timeline, alegeti Actions si in panoul pt. script ActionScript adaugati urmatorul cod:
var dimens:Number = 0.12;         // Coeficient de dimensionare a obiectului (12%)
var move_y:Number = 23;           // Distanta Y de deplasare
var rotire:Number = 30;           // Grade pt. rotire

// Creare instanta la clasa Timer, cu intervalul jumatate de sec. si repetari 6
var jumpTimer:Timer = new Timer(500, 6);

// Functia care va fi apelata la evenimentul TimerEvent.TIMER
function jumpLand(evt:TimerEvent):void
{
  // Modifica dimensiunile obiectului cu valoarea coeficientului (%) de la "dimens"
  drept1.scaleX += dimens;
  drept1.scaleY += dimens;

  drept1.rotation -= rotire;        // Roteste
  drept1.y -= move_y;               // Muta pe verticala
}

// Functia care va fi apelata la evenimentul TimerEvent.TIMER_COMPLETE
function atTimerComplete(evt:TimerEvent):void
{
  // Schimba in sens opus valoarea de dimensionare si miscare pe verticala
  dimens *= -1;
  move_y *= -1;

  evt.target.reset();      // Reseteaza numarul de repetari (sa inceapa de la 0)
  evt.target.start();      // Porneste iar declansarea TIMER
}

// Inregistrare eveniment TimerEvent.TIMER, la instanta "jumpTimer"
jumpTimer.addEventListener(TimerEvent.TIMER, jumpLand);

// Inregistrare eveniment TimerEvent.TIMER_COMPLETE, la instanta "jumpTimer"
jumpTimer.addEventListener(TimerEvent.TIMER_COMPLETE, atTimerComplete);

jumpTimer.start();        // Porneste declansarea evenimentului TIMER
- Cand numarul de repetari ajunge la valoarea specificata (aici 6), se declanseaza evenimentul TimerEvent.TIMER_COMPLETE. In functia apelata de acesta (atTimerComplete) se schimba sensul miscarii animatiei, se reseteaza numarul de repetari si porneste iar detectarea TimerEvent.TIMER, care prin reset incepe de la 0. Si tot asa, se obtine o executie continua a miscarii.
    - Daca apasati "Ctrl+Enter" va apare o prezentare Flash ca aceasta:
- Pentru o miscare mai rapida, se micsoreaza valoarea data la interval (delay).

In afara de utilizarea TimerEvent.TIMER, un alt eveniment prin care se pot crea efecte de animatie cu ActionScript 3 este ENTER_FRAME, vedeti tutorialul: Animatie cu ENTER_FRAME in AS3.

- Fisierul FLA cu exemplu din acesta lectie poate fi descarcata de la: Animatie - clasa Timer.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Animatie clasa Timer

Last accessed pages

  1. Adverbele in limba engleza - Adverbs (33780)
  2. Prepozitii - Prepositions (34145)
  3. Scoala zeilor (5964)
  4. Diferenta dintre Like si As (12264)
  5. Cursuri Limba Rusa (6201)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (214)
  2. Gramatica limbii spaniole. Indrumator si prezentare generala (154)
  3. Limba spaniola curs online incepatori si avansati (80)
  4. Teste spaniola - Tests y ejercicios de Español - Gramática (78)
  5. Gramatica limbii engleze - Prezentare Generala (73)