Flash Math(object) only understands angles in radians and our MC understands angles in degrees. So the rad must be converted into degrees. 180 / (pi / rad). The number is then rounded to the lowest whole number.
//Converts
radians into degrees.
deg = Math.floor(180/(Math.PI
/ rad));
In trig the positive angle is
counterclockwise but in Flash it is just the opposite. A negative number multiplied
by another negative number will return a positive value. Which is exactly what
happens during the Math.pow function, so to compensate for the negative angle
we'll just change the deg into a negative number if y is less
than zero. The preceeding formulas cannot calculate the value for the 180th
degree, but that can be fixed. The y value needs to be rounded down to
a whole number so Flash can ask y for an equals value of zero. If y
equals zero and x is in the negative realm Flash can give the the deg
an assignment of 180.
//Compensates
for negative angle.
if(y < 0){
deg = -deg;
}else if((Math.floor(y)
== 0) && (x < 0)){
deg = 180;
}
These trace actions are totally optional, but very useful during the development process. When you test the movie you can bring up the values for your variables in the output window by clicking the mouse. The trace actions won't appear when the movie is placed in a browser.
onClipEvent(mouseDown){
trace("x = "
+ x);
trace("y = "
+ y);
trace("hyp = "
+ hyp);
trace("cos = "
+ cos);
trace(deg + "o");
}
» 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!