Adobe 0046100128056 Scripting Guide - Page 162

Motion presets, Design options, In the preceding examples

Page 162 highlights

CHAPTER 11: Creating Dynamic Documents Working with Animation 162 //Given a document "myDocument" and a page "myPage" and the color "myColorA"... //Add a page items to animate. var myPolygonA = myPage.polygons.add({fillColor:myColorA, strokeColor:myDocument.swatches.item("None")}); myPolygonA.paths.item(0).entirePath = [[72, 72], [72, 144], [144, 108]]; //Create a motion path. var myMotionPathPoints = [[[[108,108],[108,108],[108,108]],[[516, 108],[516, 108],[516, 108]]],true]; //Set animation preferences for the polygon. myPolygonA.animationSettings.duration = 2; myPolygonA.animationSettings.motionPathPoints = myMotionPathPoints; //Assuming 24 Frames Per Second (FPS) //23 = 1 second, 47 = 2 seconds, 71 = 3 seconds, 95 = 4 seconds, 119 = 5 seconds, 143 = 6 seconds //Since the duration of our animation is 2 seconds, the following line will //make the polygon rotate 360 degrees from the start to the end //of the animation. myPolygonA.animationSettings.rotationArray = [[0, 0], [47, 360]]; var myTimingSettings = myPage.parent.timingSettings; //Remove the default timing list. myTimingSettings.timingLists.item(0).remove(); //Add a new timing list that triggers when the page is clicked. var myTimingList = myTimingSettings.timingLists.add(DynamicTriggerEvents.onPageClick); //Add the polygons to a single timing group. var myTimingGroup = myTimingList.timingGroups.add(myPolygonA, 0); Scripting offers more control over animation than can be achieved with InDesign's user interface. A scripted animation can, for example, apply transformations at each key frame of a given motion path. For more on this topic, see "Key frames" later in this chapter. Motion presets In the preceding examples, we've constructed motion paths and specified animation settings as if we were creating animations from the basic level in InDesign's user interface. But InDesign can also use motion presets to define the animation of page items in a layout. A motion preset can apply a number of animation properties at once, as seen in the following script fragment (for the complete script, refer to MotionPreset). InDesign comes with a large number of motion presets, and you can add new presets using either the user interface or scripting. //Given a page containing the ovals "myOvalA"... var myMotionPreset = app.motionPresets.item("move-right-grow"); myOvalA.animationSettings.duration = 2; myOvalA.animationSettings.playsLoop = true; myOvalA.animationSettings.preset = myMotionPreset; Design options Design options affect the way that an animated object appears, relative to the motion specified in the object's animation settings. The following script fragment shows how the design options for an animated shape can affect the playback of the animation (for the complete script, refer to DesignOptions).

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209

C
HAPTER
11: Creating Dynamic Documents
Working with Animation
162
//Given a document "myDocument" and a page "myPage" and the color "myColorA"...
//Add a page items to animate.
var myPolygonA = myPage.polygons.add({fillColor:myColorA,
strokeColor:myDocument.swatches.item("None")});
myPolygonA.paths.item(0).entirePath = [[72, 72], [72, 144], [144, 108]];
//Create a motion path.
var myMotionPathPoints = [[[[108,108],[108,108],[108,108]],[[516, 108],[516,
108],[516, 108]]],true];
//Set animation preferences for the polygon.
myPolygonA.animationSettings.duration = 2;
myPolygonA.animationSettings.motionPathPoints = myMotionPathPoints;
//Assuming 24 Frames Per Second (FPS)
//23 = 1 second, 47 = 2 seconds, 71 = 3 seconds, 95 = 4 seconds, 119 = 5 seconds, 143 = 6
seconds
//Since the duration of our animation is 2 seconds, the following line will
//make the polygon rotate 360 degrees from the start to the end
//of the animation.
myPolygonA.animationSettings.rotationArray = [[0, 0], [47, 360]];
var myTimingSettings = myPage.parent.timingSettings;
//Remove the default timing list.
myTimingSettings.timingLists.item(0).remove();
//Add a new timing list that triggers when the page is clicked.
var myTimingList = myTimingSettings.timingLists.add(DynamicTriggerEvents.onPageClick);
//Add the polygons to a single timing group.
var myTimingGroup = myTimingList.timingGroups.add(myPolygonA, 0);
Scripting offers more control over animation than can be achieved with InDesign’s user interface. A
scripted animation can, for example, apply transformations at each key frame of a given motion path. For
more on this topic, see
“Key frames”
later in this chapter.
Motion presets
In the preceding examples, we’ve constructed motion paths and specified animation settings as if we were
creating animations from the basic level in InDesign’s user interface. But InDesign can also use motion
presets to define the animation of page items in a layout. A motion preset can apply a number of
animation properties at once, as seen in the following script fragment (for the complete script, refer to
MotionPreset). InDesign comes with a large number of motion presets, and you can add new presets using
either the user interface or scripting.
//Given a page containing the ovals "myOvalA"...
var myMotionPreset = app.motionPresets.item("move-right-grow");
myOvalA.animationSettings.duration = 2;
myOvalA.animationSettings.playsLoop = true;
myOvalA.animationSettings.preset = myMotionPreset;
Design options
Design options affect the way that an animated object appears, relative to the motion specified in the
object’s animation settings. The following script fragment shows how the design options for an animated
shape can affect the playback of the animation (for the complete script, refer to DesignOptions).