PDA

Volledige versie bekijken : Relatief bewegen van Movieclips


Ruubje
%Europe/Berlin %650 %2009, 16:36
Daar ben ik weer! :)
Ik probeer verschillende movieclips t.o.v. elkaar te bewegen. Het zit als volgt:
Ik heb een movieclip ("thumb") met daarin negen movieclips ("project1", "project2", enz.). Als ik op één van die movieclips klik, moet het masker dat erin zit breder worden en de andere movieclips moeten netjes opschuiven. Jullie kennen het vast wel ;)

Ik heb het nu als volgt geprobeerd:

private function moveEveryProject ()
{
//totalwidth is de totale breedte vanaf de left. in eerste instantie pakt hij
//hier de thumb-breedte voor, minus 5 margin.
var totalwidth:Number = thumb.x-5;

//hier gebruik ik de numChildren functie om door alle kinderen van thumb te zoeken.
for(var i=0; i<thumb.numChildren; i++)
{
//ik declareer de objecten in thumb als Project (class extends movieclip)
var mc:Project = thumb.getChildAt(i) as Project;
//vergelijken met whatproject
//(welk project geklikt is. variabele met een object erin, de class project stuurt het object terug)
if (mc == whatproject) {
Tweener.addTween(mc.masker, { width: 700, time:0.5, transition:'easeoutexpo' } );
} else {
Tweener.addTween(mc, { x: totalwidth, time:0.5, transition:'easeoutexpo' } );
}

totalwidth += mc.masker.width;
}
}


Iets in mij zegt dat dit niet de optimale manier is. Het werkt nogal buggy (gekke x-posities soms) namelijk. Is er een betere manier om dit trucje gedaan te krijgen?

Ruubje
%Europe/Berlin %604 %2009, 15:30
iemand?

cornedor
%Europe/Berlin %629 %2009, 16:06
staat hij met gekke x posities helemaal verkeerd of hoe zit dat (mischien een voorbeeld?)

Ruubje
%Europe/Berlin %650 %2009, 16:36
okee, hier mijn swf tot nu toe. Als je op het eerste project klikt werkt het (project1 schuift tot aan de rand, vervolgens klapt 'ie uit en worden alle andere mc's opgeschoven. Als je echter op een ander project klikt (bijvoorbeeld project2), wordt project1 wéér uitgeklapt! Ik heb me er denk ik blind op gestaard..

link (http://ruben.gileo.eu/flash/V1.swf) (is nog wel erg groot (1Mb) maargoed)

thnx!