Exemplu:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
@ ActionScript 3
* Reverse la o animatie
------------------------------------
Scena contine un movie clip cu nume de instanta:  img
Movie clipul e o animatie de 60 frame-uri in care se mareste poza.
-----------------------------------------------------
*/

// activeaza movie clip-ul ca buton
img.buttonMode = true;
// dezactiveaza eventualele
img.mouseChildren = false;

// adauga 2 eventListener pe imagine
// pentru mouse over
img.addEventListener(MouseEvent.ROLL_OVER,overThat,false,0,true);
// pentru mouse out
img.addEventListener(MouseEvent.ROLL_OUT,outThat,false,0,true);

// cand cursorul este peste mc adauga un nou eventListener
// si activeaza functia "inainte"
function overThat(event:MouseEvent):void {
    event.target.removeEventListener(Event.ENTER_FRAME,inapoi);
    event.target.addEventListener(Event.ENTER_FRAME,inainte,false,0,true);
}

// cand cursorul iese de pe zona mc-ului scoate eventListener-ul existent
// si activeaza functia "inapoi"
function outThat(event:MouseEvent):void {
    event.target.removeEventListener(Event.ENTER_FRAME,inainte);
    if (!event.target.hasEventListener(Event.ENTER_FRAME)) {
        event.target.addEventListener(Event.ENTER_FRAME,inapoi,false,0,true);
    }
}

// atat timp cat mouse-ul este peste mc-ul "img" este activata aceasta functie
// si merge pana da peste "stop" in timeline-ul din movie clip
function inainte(event:Event):void {
    event.target.nextFrame();
   
}

// e reversul functiei "inainte"
function inapoi(event:Event):void {
    event.target.prevFrame();
}

Sursele complete aici: img_in_out.fla (Flash CS3). Enjoy!

Popularity: 3% [?]