[ Jok@ @ 13.12.2005. 23:07 ] @
2 simbola tipa Movie Clip, i jedan je smjesten unutar drugog te obadva imaju Event handler on(press). I kada na scenu postavim simbol 1 koji unutar sebe sadrzava simbol 2 pritiskom na podrucje simbola 2 se ne izvrsava njegov Event handler vec Event handler simbola 1. Kako postici da se izrsava Event handler simbola 2 pritiskom na njegovo podrucje?
[ noviKorisnik @ 14.12.2005. 08:49 ] @
on (press) je handler događaja simbola tipa Button.

Za instance simbola tipa MovieClip odgovarajući handler bio bi recimo onClipEvent (mouseDown). E sad, ovaj događaj se okida nezavisno od toga da li je miš nad površinom simbola, pa je dovoljno postaviti samo jedan handler na _root (jer je i to MovieClip), a za ispitivanje oblasti klika može da se koristi metoda hitTest.

Kačim primer, a evo i koda
Code:
onMouseDown = function ()
{
    if (simbol1.simbol2.hitTest (_xmouse, _ymouse, true)) trace ('click over simbol 2');
    else if (simbol1.hitTest (_xmouse, _ymouse, true)) trace ('just over simbol 1');
    else trace ('click outside simbols');
}
[ Jok@ @ 14.12.2005. 10:25 ] @
Ovo je Ok, no sta napravit kada je rijec o rollover dogadjaju hitTest ne pomaze.
Imam ova 2 handler-a:

Code:

simbol1.onRollOver = function(){ trace("simbol 1"); }
simbol1.simbol2.onRollOver = function(){ trace("simbol 2"); }


i opeta kako da prelaskom preko simbola 2 se pozove drugi event handler, u mom slucaju se uvijek poziva prvi.
[ noviKorisnik @ 14.12.2005. 12:45 ] @
Code:
overSimbol2    =    false;
overSimbol1    =    false;
onMouseMove    =    function    ()
{    if    (overSimbol2    !=    simbol1.simbol2.hitTest    (_xmouse, _ymouse, true))
    {    overSimbol2    =    !    overSimbol2
    ;    if    (overSimbol1    !=    simbol1.hitTest    (_xmouse, _ymouse, true))
        {    overSimbol1    =    !    overSimbol1
        ;    if    (overSimbol1)
            {    trace    ('over Simbol 1')
            ;    trace    ('out  Simbol 1')
            ;    trace    ('over Simbol 2')
            }    else
            {    trace    ('out  Simbol 2')
            ;    trace    ('over Simbol 1')
            ;    trace    ('out  Simbol 1')
            }
        }    else    if    (overSimbol2)
        {    trace    ('out  Simbol 1')
        ;    trace    ('over Simbol 2')
        }    else
        {    trace    ('out  Simbol 2')
        ;    trace    ('over Simbol 1')
        }
    }    else    if    (overSimbol1    !=    simbol1.hitTest    (_xmouse, _ymouse, true))
    {    overSimbol1    =    !    overSimbol1
    ;    if    (overSimbol1)
        {    trace    ('over Simbol 1')
        }    else
        {    trace    ('out  Simbol 1')
        }
    }
}