Search tutorials
The Rotations (con't)
Now we are going to do the buttons:
- open your first button (say the up-rotation around the x-axis).
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 OnThe 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. - x-axis down rotation
Set Variable: "sin" = basesin Set Variable: "cos" = basecos Set Variable: "axis" = "x" - y-axis right-rotation
Set Variable: "sin" = - basesin Set Variable: "cos" = basecos Set Variable: "axis" = "y" - y-axis left-rotation
Set Variable: "sin" = - basesin Set Variable: "cos" = basecos Set Variable: "axis" = "y" - z-axis rotation(1)
Set Variable: "sin" = - basesin Set Variable: "cos" = basecos Set Variable: "axis" = "z" - z-axis 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 math-formulas. 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 Loop If 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 Loop and 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 Loop
That's all, your engine is finished!| » Level Advanced |
|
Added: 2000-12-04 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!