quote:
Op woensdag 2 november 2005 19:39 schreef Lukaso het volgende:even een vraagje over beweging in flash.
Ik wil een button/movieclip over het scherm laten bewegen met actionscript.
ik had zelf zoiets bedacht:
2 frames, op de 2e frame: gotoAndPlay(1);
op de 1e frame:
die X postitie van de frame +1 oid
nu heb ik de preciese syntax proberen op te zoeken maar stuit ik enkel op zoiets:
[..]
waar ik bitter weinig van snap.
waar zit de loop?
hoe weet je welke movieclip het betreft?
wat is 'this."?
wat is er mis met mijn methode?
ik vind de aanpak nogal vreemd terwijl je dit overal tegenkomt,
kan iemand het enigzins uitleggen? bvd
Ik ga het proberen:
1) Je kunt actionscript op verschillende manieren neerzetten: op de tijdlijn of op een symbol. Als actionscript op de tijdlijn staan werkt het anders en vice versa. Staat ActionScript op een movieClip dan kun je er bij door de MC te selecteren. Staat ActionScript op de tijdlijn dan kun je het betreffende frame selecteren.
2) Actionscript dat op een MC staat betreft altijd alleen de MC tenzij er naar iets anders getarget wordt. Een target begint meestal met _root. / _levelX / _this , etc.
3) _this. is dus een target en geeft aan het ActionScript aan dat het gericht is op een bepaald object .Kan zijn: tekstveld, MovieClip (MC dus), variabel ... alles wat kan wijzigen. Dus ook _this.x_pos; de x positie van THIS object. Als _this. niet in de hoofdtijdlijn staat kan het alleen maar op een MovieClip staan en betreft het dus die MC. _this. in de hoofdtijdlijn is gelijk aan _root.).
4) Loops zijn (doordat ActionScript op MC's kan staan) niet altijd "Goto's". OnEnterFrame kan ook een loop zijn (zeker met een stop erop).
5) Mis met jouw methode: Je hebt maar 2 frames. Dat betekent dat de GotoandPlay (of whatever) altijd moet verwijzen naar een nieuw keyframe. Zeker in het eerste keyframe wordt alles ververst. Je MC krijgt dus weer z'n oorspronkelijke coördinaten.
Probeer het eens met een extra keyframe:
frame 1: MC (maak een target naam aan);
frame 2: actionscript die MC (targetnaam gebruiken) moet laten bewegen op een aparte laag (ik maak meestal een aparte laag/tijdlijn voor actionscript aan) in een keyframe;
frame 3: in de actionscriptlaag > GotoAndPlay(2); zo komt de actionscript langs de nieuwe positie van de MC i.p.v. op frame 1 de MC weer te resetten.
![]()
nog effe een flaatje gemaakt voor verduidelijking:
klikketieklikKlik op de MovieClip (geen button of graphic dus) en zie linksonderin de targetnaam
![]()
da's de key (in de actionscript)
[ Bericht 2% gewijzigd door Googolplexian op 05-11-2005 02:16:31 ]