I've put the complete script into an onClipEvent handler wich repeats whenever the the Flash movie eters a new frame wich usally happens 12 times a second. This is necessary because we have to check for the new mouse position and react to it continuously. This means that the script is repeated again and again in a loop.
mx=_root._xmouse;
Here I'm defining a variable mx wich gets the value _root._xmouse.
_root._xmouse gives you the x position of the mouse. This means that the variable mx now is your mouse x coordinate.
if (mx<_x) {
dx=_x-mx;
}
This script gets the distance between the mouse and the MC. To do this you have to substract the the x coordinates of the mouse from the x coordinate of the MC _x if the former is smaller than the latter. Otherwise...
else {
dx=mx-_x;
}
...you have to substract the mouse x position from the MC x position. The result is that variable dx always equals the distance between mouse and MC.
moveSpeedx=dx/10;
You now have to define a new variable called moveSpeedx and given it the value of dx (the distance) divided by 10. This makes moveSpeed high when dx is high and low when dx is low. The division by 10 is necessary to slow thins down a bit so that the MC doesn't reach the the mouse instantaneously. You can increase the speed of your MC by dividing dx by a lower number or slow it down by dividing by a higher number.
if (mx<_x) {
_x=_x-moveSpeedx;
}
This piece of code checks in which direction the MC has to move to reach the Mouse by looking whether the mouse is to the left our to the right of the MC and moves the MC accordingly. If the x position of the mouse is smaller than the x position of the MC you have to move it to the left by assigning a new value to _x (the position of the MC). The new value is the momentary value minus the movespeed resulting in a movement to the left.
else {
_x=_x+moveSpeedx;
}
In case mx is bigger than _x you have to add the two resulting in a movement to the right.
At this stage you can test your new Movie! At this point only movement along the x axis is possible. Up and down movement will follow...
Home in: Erkrath, Germany
Born in: Bayonne, France 21.05.1982
Hobbies: Gliding, Computer
Flashing since: Jan 2001
Languages: German, Dutch, English French
Founded webdesign company May 2001 but still going to school
What else do you want to know?? :-)