![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 5.
this
Identifier; references an object or movie clip instance. When a script executes, this
references the movie clip instance that contains the script. When a method is called, this
contains a reference to the object that contains the called method.
Inside an on
event handler action attached to a button, this
refers to the Timeline that contains the button. Inside an onClipEvent()
event handler action attached to a movie clip, this
refers to the Timeline of the movie clip itself.
Because this
is evaluated in the context of the script that contains it, you can't use this
in a script to refer to a variable defined in a class file:
// in file applyThis.as class applyThis{ var str:String = "Defined in applyThis.as"; function conctStr(x:String):String{ return x+x; } function addStr():String{ return str; } } // Use following code in FLA to test movie import applyThis; var obj:applyThis = new applyThis(); var abj:applyThis = new applyThis(); abj.str = "defined in FLA"; trace(obj.addStr.call(abj,null)); // defined in FLA trace(obj.addStr.call(this,null)); // undefined trace(obj.addStr.call(obj,null)); // Defined in applyThis.as
Similarly, to call a function defined in a dynamic class, you must use this
to scope the function:
// incorrect version of simple.as dynamic class simple{ function callfunc(){ trace(func()); } } // correct version of simple.as dynamic class simple{ function callfunc(){ trace(this.func()); } } // statements in FLA file import simple; var obj:simple = new simple(); obj.num = 0; obj.func = function():Boolean{ return true; } obj.callfunc(); // syntax error with incorrect version of simple.as
In the following example, the keyword this
references the Circle object.
function Circle(radius) {
this.radius = radius;
this.area = Math.PI * radius * radius;
}
In the following statement assigned to a frame, the keyword this
references the current movie clip.
// sets the alpha property of the current movie clip to 20
this._alpha = 20;
In the following statement inside an onClipEvent()
handler, the keyword this
references the current movie clip.
// when the movie clip loads, a startDrag() operation
// is initiated for the current movie clip.
onClipEvent (load) {
startDrag (this, true);
}
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |