home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  

Book HomeActionScript: The Definitive GuideSearch this book

9.6. Function Availability and Life Span

Like variables, program functions do not live forever and are not directly accessible throughout a movie. In order to invoke functions with confidence, we need to know how to access them from different areas of our movie, and we need to be sure that they exist before we call them.

9.6.1. Function Availability

Program functions (the functions we create ourselves in our code) are directly accessible for invocation only from:

  • Code attached to the timeline of the movie clip that bears the function declaration

  • A button on the timeline of the movie clip that bears the function declaration

By "directly accessible," we mean that the function can be invoked simply by name, without reference to a movie clip or object, like this:

myFunction( );

Functions are also indirectly accessible (i.e., remotely accessible) from any point in a movie using dot syntax. As when referring to variables remotely, we must include the path to the movie clip that contains the function, such as:

myClip.myOtherClip.myFunction( );
_    parent.myFunction( );
_root.myFunction( );

So, suppose a clip instance named rectangle on the main timeline contains a function named area( ). We may invoke area( ) from anywhere in our movie using an absolute path to rectangle, like this:

_root.rectangle.area( );

To reference a function from a remote movie clip timeline, we follow the same rules used when referring to remote variables, as described in Chapter 2, "Variables". (We'll also learn more about invoking functions remotely in Chapter 13, "Movie Clips".)

Not all functions are attached to movie clip timelines. Some program functions may be attached to user-defined or built-in objects. When attached to an object, a function is accessible only through its host object. We'll learn more about the availability and life span of methods (i.e., functions attached to objects) in Chapter 12, "Objects and Classes".

Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.