Adobe 0046100128056 Scripting Guide - Page 159

The following script fragment shows how to control the timing of the animation of an object using

Page 159 highlights

CHAPTER 11: Creating Dynamic Documents Working with Animation 159 X timingLists, which define the trigger event (page load, page click, and so on) that start the animation. X timingGroups, which associate a page item or series of page items with a specific timing and define the sequence in which animations are shown. timingGroups contain timingTargets, which define the objects associated with a given timingGroup. timingTargets also specify a delay value for the animation applied to the page item, relative to the start of the animation of the timingGroup (for the first item in the timingGroup), or from the start of the previous item in the timingGroup (for other items in the timingGroup). The following script fragment shows how to control the timing of the animation of an object using the various timing objects (for the complete script, refer to TimingSettings). Note that the parameters used to create a timingGroup specify the properties of the first timingTarget in the timingGroup; subsequent timingTargets, if any, can be added separately. //Given a document "myDocument" and a page "myPage" and the color "myColorA", //"myColorB", and "myColorC"... //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]]; var myPolygonB = myPage.polygons.add({fillColor:myColorB, strokeColor:myDocument.swatches.item("None")}); myPolygonB.paths.item(0).entirePath = [[72, 72], [72, 144], [144, 108]]; var myPolygonC = myPage.polygons.add({fillColor:myColorC, strokeColor:myDocument.swatches.item("None")}); myPolygonC.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 polygons. myPolygonA.animationSettings.duration = 2; myPolygonA.animationSettings.motionPathPoints = myMotionPathPoints; myPolygonB.animationSettings.duration = 2; myPolygonB.animationSettings.motionPathPoints = myMotionPathPoints; myPolygonC.animationSettings.duration = 2; myPolygonC.animationSettings.motionPathPoints = myMotionPathPoints; 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); myTimingGroup.timingTargets.add(myPolygonB, 2); myTimingGroup.timingTargets.add(myPolygonC, 2); Note that attempting to add a page item whose hasCustomSettings property (in the animationSettings object of the page item) is false to a timingTarget generates an error. The following script fragment shows how to control the sequence of animations applied to objects on a page (for the complete script, refer to MultipleTimingGroups). Note that the order in which timingGroups are added to a timingList determines the order in which the animations play when the trigger event specified in the timingList occurs. Some trigger events, such as DynamicTriggerEvents.onPageLoad, trigger the animations in the timingList (in sequence); others, such as DynamicTriggerEvents.onPageClick, trigger the animations one by one, in sequence, with each instance of the event. For example, a timingList containing five timingGroups, each containing a single

  • 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
159
X
timingLists
, which define the trigger event (page load, page click, and so on) that start the
animation.
X
timingGroups
, which associate a page item or series of page items with a specific timing and define
the sequence in which animations are shown.
timingGroups
contain
timingTargets
, which define the objects associated with a given
timingGroup
.
timingTargets
also specify a delay value for the animation applied to the page item, relative to the start
of the animation of the
timingGroup
(for the first item in the
timingGroup
), or from the start of the
previous item in the
timingGroup
(for other items in the
timingGroup
).
The following script fragment shows how to control the timing of the animation of an object using the
various timing objects (for the complete script, refer to TimingSettings). Note that the parameters used to
create a
timingGroup
specify the properties of the first
timingTarget
in the
timingGroup
; subsequent
timingTargets
, if any, can be added separately.
//Given a document "myDocument" and a page "myPage" and the color "myColorA",
//"myColorB", and "myColorC"...
//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]];
var myPolygonB = myPage.polygons.add({fillColor:myColorB,
strokeColor:myDocument.swatches.item("None")});
myPolygonB.paths.item(0).entirePath = [[72, 72], [72, 144], [144, 108]];
var myPolygonC = myPage.polygons.add({fillColor:myColorC,
strokeColor:myDocument.swatches.item("None")});
myPolygonC.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 polygons.
myPolygonA.animationSettings.duration = 2;
myPolygonA.animationSettings.motionPathPoints = myMotionPathPoints;
myPolygonB.animationSettings.duration = 2;
myPolygonB.animationSettings.motionPathPoints = myMotionPathPoints;
myPolygonC.animationSettings.duration = 2;
myPolygonC.animationSettings.motionPathPoints = myMotionPathPoints;
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);
myTimingGroup.timingTargets.add(myPolygonB, 2);
myTimingGroup.timingTargets.add(myPolygonC, 2);
Note that attempting to add a page item whose
hasCustomSettings
property (in the
animationSettings
object of the page item) is false to a
timingTarget
generates an error.
The following script fragment shows how to control the sequence of animations applied to objects on a
page (for the complete script, refer to MultipleTimingGroups). Note that the order in which
timingGroups
are added to a
timingList
determines the order in which the animations play when the trigger event
specified in the
timingList
occurs. Some trigger events, such as
DynamicTriggerEvents.onPageLoad
,
trigger the animations in the
timingList
(in sequence); others, such as
DynamicTriggerEvents.onPageClick
, trigger the animations one by one, in sequence, with each
instance of the event. For example, a
timingList
containing five
timingGroups
, each containing a single