
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Passing Information to Functions
|
185
3. Place an instance of ballSymbol on Layer 1.
4. Name the ballSymbol instance
ball.
5. On frame 1 of Layer 1 of the main movie timeline, attach the following code:
// Store a portable reference to the main timeline.
_global.mainTimeline = this;
function moveBall () {
mainTimeline.ball._x += 10;
mainTimeline.ball._y += 10;
}
As a matter of good form, functions should not access external timeline variables
(such as ball) directly. Therefore, we access ball through our application’s global
reference to the movie’s main timeline. With the function moveBall( ) defined, we
can move the
ball clip diagonally by calling the moveBall( ) function. Add the follow-
ing code to the existing code on frame 1.
moveBall();
The ball moves diagonally down and to the right. (Note that the origin (0, 0) is in the
upper left of the main Stage. Increasing values of
_x move the ball to the right, but,
unlike the Cartesian coordinates, increasing values of
_y move the ball down, not up.)
Our moveBall() function is convenient, but it lacks flexibility. It works only on one
movie clip (
ball), it moves ball in only one direction, and it always moves ball the
same distance.
A well-designed function should work in many circumstances. We can generalize our
moveBall() function so that