
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
348
|
Chapter 13: Movie Clips
Self-references with the this keyword
When we want to refer explicitly to the current instance from a frame in its timeline
or from one of its event handlers, we can use the
this keyword. For example, the fol-
lowing statements are synonymous when attached to a frame in the timeline of our
cloud_mc instance:
_alpha = 60; // Implicit reference to the current timeline
this._alpha = 60; // Explicit reference to the current timeline
There are three reasons to use this to refer to a clip even when we could legitimately
refer to the clip’s properties and methods directly.
• First, explicit references are easier for other developers to read, because they
make the intention of a statement unambiguous.
• Second, when used without an explicit instance reference, certain movie clip
methods are mistaken for global functions by the interpreter. If we omit the
this
reference, the interpreter thinks we’re trying to invoke the analogous global
function and complains that we’re missing the target movie clip parameter. To
work around the problem, we use
this, as follows:
if (this._name != "newClouds_mc") {
this.duplicateMovieClip("newClouds_mc", 0); // Invoke a method on an instance
}
// If we omit the this reference, we get an error
duplicateMovieClip("newClouds_mc", 0); // Oops! ...