**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 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. - 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 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: 2000-12-04 Rating: 9 Votes: 2632 |

» 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! |