Adobe 0046100128056 Scripting Guide - Page 158

Working with Animation, Basic animation, TimingSettings

Page 158 highlights

CHAPTER 11: Creating Dynamic Documents Working with Animation 158 var myButton = myPage.buttons.add({geometricBounds:[72, 72, 144, 144]}); myRolloverState = myButton.states.add(); var myRolloverRectangle = myRolloverState.rectangles.add({geometricBounds:[72, 72, 144, 144]}); var myFillTransparencySettings = myRolloverRectangle.strokeTransparencySettings; myFillTransparencySettings.dropShadowSettings.mode = ShadowMode.drop; myFillTransparencySettings.dropShadowSettings.angle = 90; myFillTransparencySettings.dropShadowSettings.xOffset = 0; myFillTransparencySettings.dropShadowSettings.yOffset = 0; myFillTransparencySettings.dropShadowSettings.size = 6; var myClickState = myButton.states.add(); var myNextStateBehavior = myButton.gotoNextStateBehaviors.add({associatedMultiStateObject:myMSO, behaviorEvent:BehaviorEvents.mouseDown, enableBehavior:true, loopsToNextOrPrevious:true}); Working with Animation Page items can be animated, adding motion to the dynamic documents you create using InDesign. You apply animation to objects using motion presets, define the movement of animated objects using motion paths, and control the duration of the animation using timing settings, timing lists, and timing groups. The animationSettings of an object control the animation that will be applied to the object. When animation settings have been applied to an object, InDesign sets the hasCustomSettings property of the object to true; if the object is not to be animated, this property is false. The point at which an animation begins to play, relative to the event that triggers the animation, is controlled by the objects and properties of the timingSettings object attached to the page item or to one of its parent containers (usually the spread). Basic animation The following script fragment shows how to create a simple animation (for the complete script, refer to SimpleAnimation). The most basic forms of animation can be applied without using timing settings. //Given a document "myDocument" and a page "myPage" and a color "myColorA"... //Add a page items to animate. var myPolygon = myPage.polygons.add({fillColor:myColorA, strokeColor:myDocument.swatches.item("None")}); myPolygon.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. We havent' set a dynamic trigger //for the animation, so the polygon's animation will be triggered by //DynamicTriggerEvents.onPageLoad (the default). myPolygon.animationSettings.duration = 2; myPolygon.animationSettings.motionPathPoints = myMotionPathPoints; TimingSettings The timingSettings objects of spreads, pages, and page items control the timing of the animation(s) applied to the object and to any objects contained by the object. timingSettings contain:

  • 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
158
var myButton = myPage.buttons.add({geometricBounds:[72, 72, 144, 144]});
myRolloverState = myButton.states.add();
var myRolloverRectangle = myRolloverState.rectangles.add({geometricBounds:[72, 72,
144, 144]});
var myFillTransparencySettings = myRolloverRectangle.strokeTransparencySettings;
myFillTransparencySettings.dropShadowSettings.mode = ShadowMode.drop;
myFillTransparencySettings.dropShadowSettings.angle = 90;
myFillTransparencySettings.dropShadowSettings.xOffset = 0;
myFillTransparencySettings.dropShadowSettings.yOffset = 0;
myFillTransparencySettings.dropShadowSettings.size = 6;
var myClickState = myButton.states.add();
var myNextStateBehavior =
myButton.gotoNextStateBehaviors.add({associatedMultiStateObject:myMSO,
behaviorEvent:BehaviorEvents.mouseDown, enableBehavior:true,
loopsToNextOrPrevious:true});
Working with Animation
Page items can be animated, adding motion to the dynamic documents you create using InDesign. You
apply animation to objects using motion presets, define the movement of animated objects using motion
paths, and control the duration of the animation using timing settings, timing lists, and timing groups.
The
animationSettings
of an object control the animation that will be applied to the object. When
animation settings have been applied to an object, InDesign sets the
hasCustomSettings
property of the
object to true; if the object is not to be animated, this property is false.
The point at which an animation begins to play, relative to the event that triggers the animation, is
controlled by the objects and properties of the
timingSettings
object attached to the page item or to
one of its parent containers (usually the spread).
Basic animation
The following script fragment shows how to create a simple animation (for the complete script, refer to
SimpleAnimation). The most basic forms of animation can be applied without using timing settings.
//Given a document "myDocument" and a page "myPage" and a color "myColorA"...
//Add a page items to animate.
var myPolygon = myPage.polygons.add({fillColor:myColorA,
strokeColor:myDocument.swatches.item("None")});
myPolygon.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. We havent' set a dynamic trigger
//for the animation, so the polygon's animation will be triggered by
//DynamicTriggerEvents.onPageLoad (the default).
myPolygon.animationSettings.duration = 2;
myPolygon.animationSettings.motionPathPoints = myMotionPathPoints;
TimingSettings
The
timingSettings
objects of spreads, pages, and page items control the timing of the animation(s)
applied to the object and to any objects contained by the object.
timingSettings
contain: