Ben inmiddels zo ver in de richting dat ik nog maar een klein steuntje in de rug nodig heb.
Mijn bedoeling van onderstaande script is dat ik inzoom op de aangeklikte MovieClip, deze moet gecentreerd op de stage komen te staan. Je kan het zien als een stadsplattegrond waarbij er ingezoomed wordt op een bepaalde wijk. Het is dus van belang dat zowel de background als de movieclips gelijk inzoomen.
Ik heb een container MC (mc_container) met hierin 3 MC's (mc_r1 / mc_r2 / mc_r3) die dienen als buttons.
Het probleem zit hem in de (commented) scale-tween (ln 36/37). Zodra ik deze comment weghaal verspringt de stage naar een heel verkeerd punt... Iemand een oplossing?
Mijn bedoeling van onderstaande script is dat ik inzoom op de aangeklikte MovieClip, deze moet gecentreerd op de stage komen te staan. Je kan het zien als een stadsplattegrond waarbij er ingezoomed wordt op een bepaalde wijk. Het is dus van belang dat zowel de background als de movieclips gelijk inzoomen.
Ik heb een container MC (mc_container) met hierin 3 MC's (mc_r1 / mc_r2 / mc_r3) die dienen als buttons.
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| /** * Position and scale on selected MovieClip * * @author R. ter Veen * @company ComSi * @date 24-07-2007 * */ function zoomFunction(movieClip) { //-- import van de tweenclass import mx.transitions.Tween; import mx.transitions.easing.*; //-- exacte middelpunt van de gehele stage var midX:Number = Stage.width/2; var midY:Number = Stage.height/2; //-- functie die uitgevoerd wordt wanneer er op de MC geklikt wordt movieClip.onPress = function() { //-- bepaal de positie van de geklikte MC var mcX:Number = movieClip._x; var mcY:Number = movieClip._y; //-- bepaal de grootte van de geklikte MC var mcWidth:Number = movieClip._width / 2; var mcHeight:Number = movieClip._height / 2; //-- bepaal de nieuwe positie van de container var newX:Number = midX - mcX - mcWidth; var newY:Number = midY - mcY - mcHeight; var _pX:Tween = new Tween(mc_container, "_x", Strong.easeOut, mc_container._x, newX, 1, true); var _pY:Tween = new Tween(mc_container, "_y", Strong.easeOut, mc_container._y, newY, 1, true); //-- uncomment onderstaande tween voor de scale optie //var _sX:Tween = new Tween(mc_container, "_xscale", Strong.easeOut, mc_container._xscale, 200, 1, true); //var _sY:Tween = new Tween(mc_container, "_yscale", Strong.easeOut, mc_container._yscale, 200, 1, true); }; } //-- roep de functie aan op de gewenste movieclips //-- (alle 3 childs van "mc_container" omdat ze mee moeten scalen met de background) zoomFunction(mc_container.mc_r1); zoomFunction(mc_container.mc_r2); zoomFunction(mc_container.mc_r3); |
Het probleem zit hem in de (commented) scale-tween (ln 36/37). Zodra ik deze comment weghaal verspringt de stage naar een heel verkeerd punt... Iemand een oplossing?