![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 6.
myObject
.watch(prop
,callback
[,userData
] )
prop
Cadena que indica el nombre de la propiedad de objeto que se debe observar.
callback
Función que se invoca cuando cambia la propiedad observada. Este parámetro es un objeto de función, no es un nombre de función en formato de cadena. La forma de callback
es callback(prop, oldval, newval, userData)
.
userData
Datos de ActionScript arbitrarios que se pasan al método callback
. Si se omite el parámetro datosUsuario
, se pasa el valor undefined
al método callback. Este parámetro es opcional.
El valor true
si el punto de observación se ha creado correctamente; en caso contrario, devuelve el valor false
.
Método; registra el controlador de eventos que se invoca cuando cambia una propiedad específica de un objeto ActionScript. Si la propiedad cambia, el controlador de eventos se invoca con myObject
como el objeto que la contiene. Debe devolver el nuevo valor del método Object.watch()
o se asigna el valor undefined
a la propiedad del objeto observado.
Un punto de observación puede filtrar (o anular) la asignación del valor, mediante la devolución de un newval
(u oldval
) modificado. Si elimina una propiedad para la que se ha establecido un punto de observación, dicho punto no desaparece. Si, posteriormente, vuelve a crear dicha propiedad, el punto de observación todavía funcionará. Para eliminar un punto de observación, utilice el método Object.unwatch
.
Sólo se puede registrar un punto de observación en una propiedad. Las posteriores llamadas a Object.watch()
en la misma propiedad sustituirán el punto de observación original.
El método Object.watch()
se comporta de forma parecida a la función Object.watch()
en Netscape JavaScript 1.2 y posteriores. La principal diferencia se encuentra en el parámetro userData
; se trata de una adición de Flash a Object.watch()
que no es compatible con Netscape Navigator. Puede pasar el parámetro userData
al controlador de eventos y utilizarlo en dicho controlador.
El método Object.watch()
no puede observar a las propiedades de captador/definidor. Las propiedades de captador/definidor funcionan según un "cálculo diferido", es decir, el valor de la propiedad no se determina hasta que se consulta la propiedad. A menudo, el "cálculo diferido" es más eficiente puesto que la propiedad no se actualiza constantemente, sino que se calcula su resultado cuando es necesario. Sin embargo, Object.watch()
necesita calcular el valor de una propiedad para poder activar los puntos de observación establecidos en la misma. Para trabajar con una propiedad de captador/definidor, Object.watch()
necesita calcular constantemente el resultado la propiedad, lo cual no es eficiente.
Generalmente, las propiedades predefinidas de ActionScript, tales como _x
, _y
, _width
y _height
, suelen ser propiedades de captador/definidor y, por consiguiente, no pueden observarse mediante Object.watch()
.
Object.addProperty()
, Object.unwatch()
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |