Search tutorials
The Rotations (con't)
Now we are going to do the buttons:
 open your first button (say the uprotation around the xaxis).
Enter this
On (Roll Over) Set Variable: "sin" =  basesin Set Variable: "cos" = basecos Set Variable: "axis" = "x" End On On (Release, Roll Out) Set Variable: "axis" = "none" End On
The sign of the sine determines which direction the object turns. When you roll over the button, the axis turned around is set to x, and the sin and cos are stored. When you roll out, the axis is set to none. The principle is the same for all the other buttons, but with different values.  xaxis down rotation
Set Variable: "sin" = basesin Set Variable: "cos" = basecos Set Variable: "axis" = "x"
 yaxis rightrotation
Set Variable: "sin" =  basesin Set Variable: "cos" = basecos Set Variable: "axis" = "y"
 yaxis leftrotation
Set Variable: "sin" =  basesin Set Variable: "cos" = basecos Set Variable: "axis" = "y"
 zaxis rotation(1)
Set Variable: "sin" =  basesin Set Variable: "cos" = basecos Set Variable: "axis" = "z"
 zaxis rotation(2)
Set Variable: "sin" = basesin Set Variable: "cos" = basecos Set Variable: "axis" = "z"
The last thing we have to do to make our rotation functional is obviously to program the rot frames. This is a simple use of the mathformulas. Open the rotx frame and enter this
Set Variable: "n" = "1" Loop While (n<=totalpoints) Set Variable: "tmp" = (sin * eval("y"&n)) + ( cos * eval("z"&n)) Set Variable: "y"&n = cos * eval("y"&n)  sin * eval("z"&n) Set Variable: "z"&n = tmp Set Variable: "n" = n + 1 End LoopIf you check this out it corresponds to the formulas in The Math. Now do the same for the roty frame:
Set Variable: "n" = "1" Loop While (n<=totalpoints) Set Variable: "tmp" =  (sin * eval("x"&n)) + ( cos * eval("z"&n)) Set Variable: "x"&n = cos * eval("x"&n) + sin * eval("z"&n) Set Variable: "z"&n = tmp Set Variable: "n" = n + 1 End Loopand for the rotz frame:
Set Variable: "n" = "1" Loop While (n<=totalpoints) Set Variable: "tmp" = (sin * eval("x"&n)) + ( cos * eval("y"&n)) Set Variable: "x"&n = cos * eval("x"&n)  sin * eval("y"&n) Set Variable: "y"&n = tmp Set Variable: "n" = n + 1 End LoopThat's all, your engine is finished!
» Level Advanced 
Added: 20001204 Rating: 9 Votes: 2631 
» Author 
KStor is a student living in France and working with Flash during his free time...that is, not very much. 
» Download 
Download the files used in this tutorial. 
Download (39 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!