EasyManua.ls Logo

Adobe 0046100128056 - InDesign - Mac - Page 159

Adobe 0046100128056 - InDesign - Mac
209 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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

Table of Contents