2009-11-15 11 views
0

J'ai deux copies d'une image (une appelée blurPic_mc & appelée sharpPic_mc) et je veux être capable de les déplacer toutes les deux autour de l'écran. J'ai besoin qu'ils restent exactement les uns sur les autres pour d'autres fonctions que je suis en train de courir mais pour le moment la seule qui bouge est la plus haute (sharpPic_mc). Des idées? J'ai inclus mon code ci-dessous.Lier des images/couches dans Flash CS4 - les faire bouger ensemble

sharpPic_mc.addEventListener(MouseEvent.MOUSE_DOWN,Click); 
sharpPic_mc.addEventListener(MouseEvent.MOUSE_UP,Release); 

function Click(event:MouseEvent):void{ 
    event.currentTarget.startDrag(); 
    blurPic_mc.startDrag(); 
} 
function Release(event:MouseEvent):void{ 
    event.currentTarget.stopDrag(); 
    blurPic_mc.startDrag(); 
} 

Répondre

1

Je suis assez sûr startDrag ne permet qu'une seule MovieClip être traîné à la fois. Donc, vous voulez le faire.

sharpPic_mc.addEventListener(MouseEvent.MOUSE_DOWN,onImageDown); 
blurPic_mc.addEventListener(MouseEvent.MOUSE_DOWN,onImageDown); 


function onImageDown(e:MouseEvent):void 
{ 
    //listening to stage 
    stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); 
    stage.addEventListener(MouseEvent.MOUSE_UP, onImageRelease); 
} 

function onImageRelease(e:MouseEvent):void 
{ 
    removeEventListener(MouseEvent.MOUSE_MOVE, onMove); 
    removeEventListener(MouseEvent.MOUSE_UP, onImageRelease); 
} 


function onMove(e:MouseEvent):void 
{ 
    blurPic_mc.x = e.stageX; 
    blurPic_mc.y = e.stageY; 

    sharpPic_mc.x = e.stageX; 
    sharpPic_mc.y = e.stageY; 
} 
+0

Vous voudrez peut-être envisager d'ajouter les mouseMove et les événements mouseUp à la '' stage' plutôt que this' – Amarghosh

+0

oups oui j'ai raté. Edité pour corriger cela. – Allan