Apply this script to the control movie clip that rests offstage and give it an instance name "clip". Don't try to put the code directly into the compass movie clip unless you want it to just spin around crazily. Give the compass movie clip an instance name of "comp".
The center of rotation needs to be established for the comp in relationship to the position of the mouse cursor. This script works if the comp is on the root stage, but if it's embedded within multiple movie clips you will have to input manuel coordinates based on its position on the main stage in place of _root.comp._x & _root.comp._y.
//Zeros
mouse x and y values on the comp
onClipEvent(enterFrame){
x = (_root._xmouse
- _root.comp._x);
y = (_root._ymouse
- _root.comp._y);
The
next step is to do our math homework. We need to know the length of the hypotenuse
for the mouse's x and y values (the distance from the mouse cursor to the center
of rotation). The Pythagorium Theorem, which will tell us the length of hyp,
is:
width * width + height * height = hyp * hyp. Then Square root of (hyp
* hyp).
//This
equation determines the length of the hypotinuse (hyp) for x and
y.
hyp = Math.sqrt(Math.pow(x,2)
+ Math.pow(y,2));
Now let's determine a cosine ratio for the values of x and hyp.
//This equation
changes the value of the mouse x position into a cosine (a number between
-1.0 and 1.0) by dividing it by the hyp.
cos = x / hyp;
Apply an arc cosine function to the cos to convert the angle into radians.
//This function
coverts the cos into an angle in radians.
rad = Math.acos(cos);
| » Level Advanced |
|
Added: 2002-01-25 Rating: 7 Votes: 28 |
| » Author |
| Kahlen Freeman is a Flash developer for www.cornerusa.com. |
| » Download |
| Download the files used in this tutorial. |
| Download (0 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!