PDA

Volledige versie bekijken : motion guide met actionscript


Frappanter
%Europe/Berlin %865 %2006, 20:46
Hallo,

ik wil graag MovieClips, die worden aangemaakt door AS, op een motion guide lijn laten bewegen.

In de MovieClips komen foto's te staan en die moeten dan achter elkaar op een spiraalvormige lijn gaan staan en kunnen bewegen over de lijn.

Aangezien de inhoud van de MovieClips dynamisch is, kan ik niet gewoon de MovieClips op de lijn slepen, zoals gebruikelijk bij een guided layer.

Please help!

Frappanter.

123GoToAndPlay
%Europe/Berlin %919 %2006, 22:03
je kan een container_mc(lege mc) mbv een guide laten bewegen. Vervolgens laad je in je container de inhoud die je wilt.

Frappanter
%Europe/Berlin %866 %2007, 20:47
ok ik heb nu een spiraal getekend, ingesteld als motion guide en een mcHolder (container) erop gezet. Deze laat ik animeren van groot naar klein. Dat werkt prima. Dan zou het in principe moeten lukken om de foto's in die containers te stoppen. Maar ik wil graag dat ik de containers naar links en rechts kan bewegen over de spiraal (motion guide). Net als bij een carousel (zie gotoandlearn.com (http://www.gotoandlearn.com)). Dan kun je de carousel rond laten draaien door aan de linker of rechter kan te staan met je muis. Alleen het punt is dat die carousel gemaakt is door te werken met een radius. Dus wiskundig de grootte van de cirkel bepalen. Maar met een spiraal wordt dat lastig. Mijn vraag is dus kan dat heen en weer bewegen van de mc's ook op een motion guide? Kun je bijv. het begin en eindpunt van een motion tween bepalen en zeggen dat wanneer je aan de linkerkant van de stage bent dat je meer naar het eindpunt moet gaan en rechts naar het beginpunt?

Please help! Kom maar niet verder anders, al op tig sites en fora gezocht en gevraagd.

Heb er een swf bijgedaan; krijg je een indruk. Het is nu geanimeerd. Maar het moeten dus meerdere mc's zijn die op dezelfde (denkbeeldige) lijn (spiraal) staan en die dus daarop heen en weer kunnen bewegen.

Frappanter
%Europe/Berlin %587 %2007, 14:05
ok ik ben weer wat verder :)

een vriend kwam met het volgende trucje:

de coordinaten van de motion guide in een array zetten en dan kun je de tween bij elk frame stop zetten. Dit is m'n code:


import flash.geom.*; // voor de Point class

var A:Number = 15;
var centerX:Number = Stage.width / 2;
var coords:Array = [];

for (var i:Number = 1; i <= 100; i++) {
gotoAndStop(i);
coords.push(new Point(mcHolder._x, mcHolder._y));
}

gotoAndStop(101); // het lege frame

/*this.onMouseMove = function()
{
speed = (this._xmouse-centerX)/2500;
}
*/
for (var j=0; j<A;j++){
_global.coords[j] = attachMovie ("mcHolder", "mcHolder"+j, j);
}


Alleen dat laatste gedeelte met attachMovie werkt nog niet. Ik weet niet hoe ik daar verder mee kom. Ik wil graag meerdere mc's op dezelfde motion guide lijn weergeven. Dus meerdere mcHolders maken. Daar komen de plaatjes in te staan. (Zie ook het swfje in vorige reactie). Tussen de plaatjes/mc's moet ook geanimeerd worden. Dus daar dient wel op gelet te worden.

Gr. Frappanter.

Frappanter
%Europe/Berlin %714 %2007, 17:09
ok, het probleem is nog steeds niet opgelost [V]

Logisch heb ik het nu redelijk duidelijk, alleen weet ik het niet goed te vertalen naar actionscriptcode.

De coordinaten van de motion guide staan in een array:

var coords:Array = [];

for (var i:Number = 1; i <= 100; i++) {
gotoAndStop(i);
coords.push(new Point(mcHolder._x, mcHolder._y));
}


Alleen nu wil ik nog meerdere mc's op de stage krijgen. Zoiets als dit (wat nog niet werkt):


for (var j=0; j<A;j++){
var mc = attachMovie ("mcHolder", "mcHolder"+j, j+1);
}


A is hier het aantal mc's (dus variabel).
En dan moeten de coordinaten worden toegewezen aan de mc's.

Uiteindelijk wil ik het zo maken, dat wanneer ik naar links ga op het scherm, de mc's naar links gaan over de motion guide (of de coordinaten volgen), en dus ook groter worden (dus je moet de grootte per mc ook weten denk ik). Voor naar rechts worden de mc's dus kleiner (zie swf voor visualisatie).

Een vergelijking waar ik aan zit te denken is:

aantal frames tussen de mc's = totale lengte coords / aantal mc's (= A)

Hoe vertaal ik dit naar goede actionscriptcode?