diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/movie15/animation.js')
-rw-r--r-- | Master/texmf-dist/doc/latex/movie15/animation.js | 200 |
1 files changed, 100 insertions, 100 deletions
diff --git a/Master/texmf-dist/doc/latex/movie15/animation.js b/Master/texmf-dist/doc/latex/movie15/animation.js index fe239ee69ad..f0789891f44 100644 --- a/Master/texmf-dist/doc/latex/movie15/animation.js +++ b/Master/texmf-dist/doc/latex/movie15/animation.js @@ -1,100 +1,100 @@ -/////////////////////////////////////////////////////////////////
-//
-// animation.js
-//
-// JavaScript for use with `3Djscript' option of \includemovie
-//
-// * Activates keyframe animation embedded in the u3d file.
-// * Arrow keys `Down', `Up' can be used for speeding up and
-// slowing down a running animation, key `Home' for reverting
-// to the default speed.
-//
-// * Adjustable parameters:
-var rate = 1; // 1 --> use original speed as default
-var palindrome = true; // true --> play forth and back
-//
-/////////////////////////////////////////////////////////////////
-
-//get the first animation in the scene
-var myAnim = scene.animations.getByIndex(0);
-myAnim.wallTime = 0;
-myAnim.speed = 1;
-myAnim.myLength = myAnim.endTime - myAnim.startTime;
-scene.activateAnimation(myAnim);
-
-//method to set animation speed
-myAnim.setSpeed = function (speed) {
- speed = Math.abs(speed);
- this.wallTime /= speed/this.speed; //correct the walltime
- this.speed = speed;
-};
-
-//method to change animation speed by a factor
-myAnim.changeSpeed = function (mult) {
- this.wallTime /= mult; //correct the walltime
- this.speed *= mult;
-};
-
-//set default speed
-myAnim.setSpeed(rate);
-
-//menu items
-runtime.addCustomMenuItem("faster", "Faster (Key Up)", "default", 0);
-runtime.addCustomMenuItem("slower", "Slower (Key Down)", "default", 0);
-runtime.addCustomMenuItem("default", "Default Speed (Key Home)", "default", 0);
-
-//menu handler to control speed
-menuEventHandler = new MenuEventHandler();
-menuEventHandler.onEvent = function(e) {
- if (e.menuItemName == "faster") {
- myAnim.changeSpeed(1.25);
- }
- else if (e.menuItemName == "slower") {
- myAnim.changeSpeed(1/1.25);
- }
- else if (e.menuItemName == "default") {
- myAnim.setSpeed(rate);
- }
-};
-runtime.addEventHandler(menuEventHandler);
-
-//key handler to control speed
-keyEventHandler = new KeyEventHandler();
-keyEventHandler.onKeyDown = true;
-keyEventHandler.onEvent = function(e) {
- switch(e.characterCode) {
- case 30: //key up
- myAnim.changeSpeed(1.05);
- break;
-
- case 31: //key down
- myAnim.changeSpeed(1/1.05);
- break;
-
- case 4: //key home
- myAnim.setSpeed(rate);
- break;
-
- case 1: //key end
- myAnim.setSpeed(rate);
- break;
- }
-};
-runtime.addEventHandler(keyEventHandler);
-
-//run the animation using a TimeEventHandler
-myTimer = new TimeEventHandler();
-myTimer.onTimeChange = true;
-myTimer.onEvent = function(e) {
- myAnim.wallTime += e.deltaTime;
- if (palindrome == true) {
- myAnim.currentTime =
- myAnim.startTime
- + myAnim.myLength/2
- * (1 - Math.cos(Math.PI * myAnim.speed/myAnim.myLength * myAnim.wallTime));
- } else {
- myAnim.currentTime = myAnim.startTime
- + (myAnim.speed * myAnim.wallTime % myAnim.myLength);
- }
-};
-runtime.addEventHandler(myTimer);
+///////////////////////////////////////////////////////////////// +// +// animation.js +// +// JavaScript for use with `3Djscript' option of \includemovie +// +// * Activates keyframe animation embedded in the u3d file. +// * Arrow keys `Down', `Up' can be used for speeding up and +// slowing down a running animation, key `Home' for reverting +// to the default speed. +// +// * Adjustable parameters: +var rate = 1; // 1 --> use original speed as default +var palindrome = true; // true --> play forth and back +// +///////////////////////////////////////////////////////////////// + +//get the first animation in the scene +var myAnim = scene.animations.getByIndex(0); +myAnim.wallTime = 0; +myAnim.speed = 1; +myAnim.myLength = myAnim.endTime - myAnim.startTime; +scene.activateAnimation(myAnim); + +//method to set animation speed +myAnim.setSpeed = function (speed) { + speed = Math.abs(speed); + this.wallTime /= speed/this.speed; //correct the walltime + this.speed = speed; +}; + +//method to change animation speed by a factor +myAnim.changeSpeed = function (mult) { + this.wallTime /= mult; //correct the walltime + this.speed *= mult; +}; + +//set default speed +myAnim.setSpeed(rate); + +//menu items +runtime.addCustomMenuItem("faster", "Faster (Key Up)", "default", 0); +runtime.addCustomMenuItem("slower", "Slower (Key Down)", "default", 0); +runtime.addCustomMenuItem("default", "Default Speed (Key Home)", "default", 0); + +//menu handler to control speed +menuEventHandler = new MenuEventHandler(); +menuEventHandler.onEvent = function(e) { + if (e.menuItemName == "faster") { + myAnim.changeSpeed(1.25); + } + else if (e.menuItemName == "slower") { + myAnim.changeSpeed(1/1.25); + } + else if (e.menuItemName == "default") { + myAnim.setSpeed(rate); + } +}; +runtime.addEventHandler(menuEventHandler); + +//key handler to control speed +keyEventHandler = new KeyEventHandler(); +keyEventHandler.onKeyDown = true; +keyEventHandler.onEvent = function(e) { + switch(e.characterCode) { + case 30: //key up + myAnim.changeSpeed(1.05); + break; + + case 31: //key down + myAnim.changeSpeed(1/1.05); + break; + + case 4: //key home + myAnim.setSpeed(rate); + break; + + case 1: //key end + myAnim.setSpeed(rate); + break; + } +}; +runtime.addEventHandler(keyEventHandler); + +//run the animation using a TimeEventHandler +myTimer = new TimeEventHandler(); +myTimer.onTimeChange = true; +myTimer.onEvent = function(e) { + myAnim.wallTime += e.deltaTime; + if (palindrome == true) { + myAnim.currentTime = + myAnim.startTime + + myAnim.myLength/2 + * (1 - Math.cos(Math.PI * myAnim.speed/myAnim.myLength * myAnim.wallTime)); + } else { + myAnim.currentTime = myAnim.startTime + + (myAnim.speed * myAnim.wallTime % myAnim.myLength); + } +}; +runtime.addEventHandler(myTimer); |