![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 5.
this
Identificador; hace referencia a una instancia de objeto o de clip de película. Cuando se ejecuta un script, this
hace referencia a la instancia de clip de película que contiene el script. Cuando se llama a un método, this
contiene una referencia al objeto que contiene el método llamado.
Dentro de una acción de controlador de eventos on
asociada a un botón, this
se refiere a la línea de tiempo que contiene el botón. Dentro de una acción de controlador de eventos onClipEvent()
asociada a un clip de película, this
se refiere a la línea de tiempo del propio clip de película.
Como this
se evalúa en el contexto del script que lo contiene, no puede utilizar this
en un script para hacer referencia a una variable definida en un archivo de clase:
// en el archivo applyThis.as class applyThis{ var str:String = "Definido en applyThis.as"; function conctStr(x:String):String{ return x+x; } function addStr():String{ return str; } } // Utilice el código siguiente en FLA para probar la película import applyThis; var obj:applyThis = new applyThis(); var abj:applyThis = new applyThis(); abj.str = "definido en FLA"; trace(obj.addStr.call(abj,null)); // definido en FLA trace(obj.addStr.call(this,null)); // no definido trace(obj.addStr.call(obj,null)); // Definido en applyThis.as
Asimismo, para llamar a una función definida en una clase dynamic, debe utilizar this
para el ámbito de la función:
// versión incorrecta de simple.as dynamic class simple{ function callfunc(){ trace(func()); } } // versión correcta de simple.as dynamic class simple{ function callfunc(){ trace(this.func()); } } // sentencias en el archivo FLA import simple; var obj:simple = new simple(); obj.num = 0; obj.func = function():Boolean{ return true; } obj.callfunc(); // error de sintaxis con la versión incorrecta de simple.as
En el ejemplo siguiente, la palabra clave this
hace referencia al objeto Circle.
function Circle(radius) {
this.radius = radius;
this.area = Math.PI * radius * radius;
}
En la sentencia siguiente asignada a un fotograma, la palabra clave this
hace referencia al clip de película actual.
// establece la propiedad alfa del clip de película actual en 20
this._alpha = 20;
En la sentencia siguiente dentro de un controlador onClipEvent()
, la palabra clave this
hace referencia al clip de película actual.
// cuando se carga el clip de película, se inicia una operación startDrag()
// para el clip de película actual.
onClipEvent (load) {
startDrag (this, true);
}
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |