Utilización de clips de película como máscaras
Puede utilizar un clip de película como una máscara para crear
un agujero a través del cual se ve el contenido de otro clip de película. El clip de película de
máscara reproduce todos los fotogramas de su línea de tiempo, igual que un clip
de película normal. Puede hacer que el clip de película de máscara se pueda
arrastrar, animarlo a lo largo de una guía de movimiento, utilizar formas
separadas en una sola máscara o cambiar el tamaño de una máscara de forma dinámica.
También puede utilizar ActionScript para activar y desactivar una máscara
durante la reproducción de una película.
No puede utilizar una máscara para enmascarar otra máscara ni establecer
la propiedad _alpha de un clip de película de
máscara. Sólo se pueden utilizar rellenos en un clip de película que se usa
como máscara; los trazos se pasan por alto.
Para crear una máscara:
|
1 |
En el escenario, elija el clip de película que desea enmascarar. |
|
2 |
En el inspector de propiedades, introduzca un nombre de instancia para
el clip de película, como por ejemplo |
|
3 |
Cree el clip de película que se va a enmascarar. Asígnele un nombre de
instancia en el inspector de propiedades, como por ejemplo |
|
4 |
Seleccione el fotograma 1 de la línea de tiempo. |
|
5 |
Elija Ventana > Acciones para abrir el panel Acciones si aún no
está abierto. |
|
6 |
En la caja de herramientas Acciones (en la parte izquierda del panel),
haga clic en la categoría Objetos, la categoría Película, la categoría Clip
de película y la categoría Métodos, y, a continuación, haga doble clic en el
método |
|
7 |
En el área de parámetros, introduzca el nombre de instancia del clip
de película de máscara. |
|
|
El código deberá ser similar al siguiente: |
|
|
image.setMask(mask); |
Gestión
de eventos con ActionScript
Durante la reproducción de una película se producen determinados
eventos. Algunos de ellos siempre se producen en el mismo orden (por ejemplo, load, enterFrame y unload), mientras que otros se
producen cuando el usuario lo inicia (por ejemplo, mouseDown, mouseUp, mouseMove, keyDown y keyUp). El evento data tiene lugar cuando la
película recibe datos de una fuente externa. Puede utilizar estos eventos para
hacer que se ejecuten los scripts; esta operación
se denomina desencadenar
un script. La respuesta al evento se
denomina gestión de eventos. Por ejemplo, puede crear un script que indique a un clip
de película que se reproduzca. Si desea que el clip de película se reproduzca
cuando reciba información de un archivo de texto externo, puede utilizar el
evento data para desencadenar el script.
Existen dos modos de gestionar eventos mediante ActionScript: puede utilizar
las acciones de controlador de eventos onClipEvent y on, o bien utilizar los métodos
de controlador de eventos de los objetos MovieClip y
Button.
En la caja de herramientas Acciones, las acciones de controlador de
eventos onClipEvent y on se encuentran en la
categoría Control de película de la carpeta Acciones. Al utilizar una de estas
acciones, se pasa un evento a la acción como un parámetro (por ejemplo, on(press)). En la caja de herramientas
Acciones, los objetos MovieClip y Button tienen categorías de eventos que
contienen métodos que corresponden a cada clip de película y evento de botón,
como por ejemplo onLoad, onEnterFrame, onUnload, onMouseDown, onMouseUp, onMouseMove, onKeyDown, onKeyUp y onData. Puede utilizar estos
métodos para definir una función que se ejecuta cuando se produce el evento.
Los métodos de controlador de eventos no entran en conflicto con las acciones
correspondientes; ambos eventos hacen que se ejecuten sus scripts.
Sólo puede adjuntar las acciones onClipEvent y on a las instancias de clip de
película que se han colocado en el escenario en modo de edición. No puede adjuntar las acciones onClipEvent y on a las instancias
de clip de película creadas en tiempo de ejecución con el método attachMovie. Por ejemplo, el código
siguiente se adjunta a una instancia de clip de película del escenario:
onClipEvent(onLoad){ trace("cargado");}
Cuando se utilizan los
métodos de controlador de eventos MovieClip o Button, no es necesario asignar
el script a la instancia cuyo evento se está gestionando; por ejemplo, puede
asignar el script a un fotograma. Esto permite controlar los clips de película
y botones colocados en el escenario en modo de edición, así como los clips de
película creados por ActionScript durante la reproducción de una película. Para utilizar los métodos de controlador de eventos, debe
asignar una función directamente a una instancia. La función se
ejecuta cuando se produce el evento especificado por el método. Por ejemplo, el
código siguiente desencadena la acción trace al cargarse la instancia mc:
mc.onLoad = function (){ trace("cargado");
};
Utilización de los métodos de controlador de eventos de clip de
película para desencadenar scripts
Puede utilizar los métodos de la categoría Eventos del objeto MovieClip
para gestionar eventos de clip de película. Debe
definir una función y asignarla al método de controlador de eventos.
Si no asigna una función al método, el método de controlador de eventos no
tendrá ningún efecto sobre la película.
Puede llamar a un método de controlador de eventos desde la instancia
del clip de película cuyo evento desea gestionar, o crear una nueva clase de
ActionScript y definir los métodos del objeto prototipo de dicha clase.
Para utilizar un método de controlador de eventos de clip de película para
desencadenar un script:
|
1 |
En el escenario, seleccione el clip de película cuyo evento desea
gestionar. |
|
2 |
Introduzca un nombre de instancia en el inspector de propiedades. |
|
3 |
Seleccione el fotograma, botón o clip de película al que desee asociar
el método. |
|
4 |
Elija Ventana > Acciones para abrir el panel Acciones si aún no
está abierto. |
|
5 |
En la caja de herramientas Acciones (en la parte izquierda del panel),
haga clic en la categoría Objetos, la categoría Película, la categoría Clip
de película y la categoría Eventos y, a continuación, haga doble clic en uno
de los métodos de controlador de eventos de MovieClip. |
|
6 |
Introduzca valores para los parámetros siguientes: |
|
|
En el parámetro para el |
|
|
Especifique los parámetros que sean necesarios para la función que va
a definir. En modo Normal, estos parámetros se introducen en el cuadro de
texto Parámetros. |
|
7 |
Agregue acciones a la función para definirla. |
|
|
En el código siguiente se define una función para el método |
|
|
mc.onPress = function() {this._alpha = 50; }; |
Utilización de los métodos de controlador de eventos de botón para
desencadenar scripts
Del mismo modo que un conjunto de eventos está asociado con símbolos de
clip de película, un conjunto de eventos también está asociado con símbolos de
botón. Puede utilizar los métodos de controlador de eventos de botón con las
instancias de botón. También puede utilizar eventos de botón con clips de
película
Puede llamar a un método de controlador de eventos desde la instancia
del botón cuyo evento desea gestionar, o crear una nueva clase de ActionScript
y definir los métodos del objeto prototipo de dicha clase. Para obtener más
información sobre cómo definir un método del objeto prototipo.
Si utiliza un método de controlador de eventos con un botón, la palabra
clave this hace referencia a la
instancia de botón que llama al método. Por ejemplo, el código siguiente envía _level0.myButton a la ventana Salida:
myButton.onPress = function()
{
trace(this);
}
Para utilizar un método de controlador de eventos de botón para desencadenar
un script:
|
1 |
En el escenario, seleccione la instancia de botón cuyo evento desea
gestionar. |
|
2 |
Introduzca un nombre de instancia en el inspector de propiedades. |
|
3 |
Seleccione el fotograma, botón o clip de película al que desee asociar
el método. |
|
4 |
Elija Ventana > Acciones para abrir el panel Acciones si aún no
está abierto. |
|
5 |
En la caja de herramientas Acciones (en la parte izquierda del panel),
haga clic en la categoría Objetos, la categoría Película, la categoría Clip
de película y la categoría Eventos y, a continuación, haga doble clic en uno
de los métodos de controlador de eventos de MovieClip. |
|
6 |
Introduzca valores para los parámetros siguientes: |
|
|
En el parámetro para el |
|
|
Especifique los parámetros que sean necesarios para la función que va
a definir. En modo Normal, estos parámetros se introducen en el cuadro de
texto Parámetros. |
|
7 |
Agregue acciones a la función para definirla. |
|
|
El código siguiente define una función para el método |
|
|
myButton.onPress = function() {trace("se ha llamado al método onPress"); }; |
Utilización de eventos de botón con clips de película para desencadenar
scripts
Puede utilizar eventos de botón con instancias de botón, pero también puede utilizarlos con instancias de clip de
película para crear clips de película de botón. Los clips de
película de botón combinan las posibilidades que ofrecen los clips de película
con el control de los eventos de botón. Puede convertir un clip de película en
un clip de película de botón mediante la asignación de un controlador on a la instancia de clip de
película o mediante la definición de métodos de controlador de eventos de botón
para una instancia. También puede crear una nueva clase y definir métodos de
controlador de eventos en el objeto prototipo de dicha clase..
Todos los eventos de botón se desencadenan a través de la interacción
del usuario: press, release, releaseOutside, rollOver, rollOut, dragOver, dragOut y keyPress. En la caja de herramientas
Acciones, el objeto MovieClip tiene una categoría Eventos que contiene métodos
que corresponden a cada evento de botón, como por ejemplo onPress, onRelease, onReleaseOutside, onRollOver, onRollOut, onDragOver, onDragOut y onKeyPress.
Un clip de película de botón tiene una línea de tiempo de clip de
película completa en lugar de la línea de tiempo de cuatro fotogramas de un
botón. Puede utilizar las etiquetas de fotograma _up, _over y _down para crear los estados
Reposo, Sobre y Presionado de un clip de película de botón. Cuando el usuario
desplaza el ratón sobre un clip de película de botón o hace clic en él, la
acción gotoAndStop hace que la cabeza lectora vaya a la etiqueta de
fotograma adecuada y muestre la imagen apropiada en el escenario. Si desea que
la cabeza lectora empiece a funcionar en la etiqueta de fotograma, puede
colocar la acción play en el fotograma.
Para designar un clip de película para utilizarlo como zona activa de un
clip de película de botón, debe utilizar la propiedad hitArea del objeto MovieClip.
Para utilizar la acción on para crear un clip de película de botón:
|
1 |
Seleccione un clip de película en el escenario. |
|
2 |
Elija Ventana > Acciones para abrir el panel Acciones si aún no
está abierto. |
|
3 |
En la caja de herramientas Acciones (en la parte izquierda del panel),
haga clic en la categoría Acciones, la categoría Control de película y, a
continuación, haga doble clic en la acción |
|
4 |
En modo Experto, introduzca los eventos que desea incluir. En modo
Normal, elija estos eventos, situados en la parte superior del panel Script. |
|
5 |
Dentro de la acción |
Si desea definir un método de controlador de eventos de clip de película
para crear un clip de película de botón:
|
1 |
En el escenario, seleccione el clip de película que desea convertir en
un clip de película de botón. |
|
2 |
Introduzca un nombre de instancia en el inspector de propiedades. |
|
3 |
Seleccione el fotograma, botón o clip de película al que desee asociar
la acción. |
|
4 |
Elija Ventana > Acciones para abrir el panel Acciones si aún no
está abierto. |
|
5 |
En la caja de herramientas Acciones, haga clic en la categoría
Objetos, la categoría Película, la categoría Clip de película y la categoría
Eventos y, a continuación, haga doble clic en uno de los métodos de
controlador de eventos de botón. |
|
6 |
Introduzca valores para los parámetros siguientes: |
|
|
En el parámetro para el |
|
|
Especifique los parámetros que sean necesarios para la función que va
a definir. En modo Normal, estos parámetros se introducen en el cuadro de
texto Parámetros. |
|
7 |
Agregue acciones a la función para definirla. |
|
|
El código siguiente define una función para el método |
|
|
mc.onPress = function() {play(); }; |
Para crear estados para el clip de película de botón:
|
1 |
Seleccione un fotograma de la línea de tiempo para utilizarlo como
estado de botón (Reposo, Sobre o Presionado). |
|
2 |
Introduzca une etiqueta de fotograma en el inspector de propiedades ( |
|
3 |
Para agregar más estados de botón, repita los pasos 1 y 2. |
Definición de métodos de controlador de eventos del objeto prototipo
Puede crear una nueva clase de ActionScript para clips de película y
definir los métodos de controlador de eventos del objeto prototipo de dicha
clase. La definición de los métodos del objeto prototipo hace que todas las
instancias de este símbolo respondan a estos eventos del mismo modo.
También puede agregar una acción de controlador de eventos onClipEvent u on a una sola instancia para
proporcionar instrucciones exclusivas que sólo se ejecutarán cuando se produzca
el evento de dicha instancia. Las acciones onClipEvent y on no prevalecen sobre el
método de controlador de eventos; ambos eventos hacen que se ejecuten sus
scripts. Sin embargo, si define los métodos de controlador de eventos del
objeto prototipo y también define un método de controlador de eventos para una
instancia determinada, la definición de la instancia prevalece sobre la
definición del objeto prototipo.
Para definir un método de controlador de eventos en un objeto prototipo de
un objeto:
|
1 |
Coloque un símbolo de clip de película con el ID de vínculo |
|
2 |
Seleccione un fotograma de la línea de tiempo del objeto. |
|
3 |
Elija Ventana > Acciones para abrir el panel Acciones si aún no
está abierto. |
|
4 |
Si el panel Acciones está en modo Normal, elija Modo Experto en el
menú emergente Ver opciones situado encima del panel Script. |
|
5 |
Utilice la acción |
|
|
// defina una clasefunction myClipClass() {} |
|
|
La nueva clase se asignará
a todas las instancias de clip de película que se han agregado a la película
mediante la línea de tiempo o que se han agregado a la película con el método
|
|
6 |
En el panel Script,
introduzca el código siguiente: |
|
|
// heredar de la clase MovieClipmyClipClass.prototype = new MovieClip(); |
|
|
Ahora, la clase |
|
7 |
Introduzca el código
siguiente para definir los métodos de controlador de eventos para la nueva
clase: |
|
|
// defina los métodos de controlador de eventos para la clase myClipClassmyClipClass.prototype.onLoad = function() {trace ("se ha cargado el clip de película");}myClipClass.prototype.onEnterFrame = function() {trace ("el clip de película ha entrado en el fotograma");} |
|
8 |
Elija Ventana >
Biblioteca para abrir el panel Biblioteca si aún no está abierto. |
|
9 |
Seleccione los símbolos que
desea asociar con la nueva clase y elija la opción Vinculación del menú
emergente situado en la parte su derecha del panel Biblioteca. |
|
10 |
En el cuadro de diálogo
Propiedades de vinculación, seleccione Exportar para ActionScript. |
|
11 |
Introduzca un identificador
en el cuadro Identificador. |
|
|
El identificador debe ser
el mismo para todos los símbolos que desea asociar con la nueva clase. En el
ejemplo |
|
12 |
En el panel Script,
introduzca el código siguiente: |
|
|
// registre la claseObject.registerClass("theID", myClipClass);_root.attachMovie("theID","myName",1); |
Este código registra cualquier símbolo cuyo identificador de vínculo es theID con la clase myClipClass. Todas las instancias de myClipClass tienen métodos de
controlador de eventos que se comportan tal como se definió en el paso 6.
También se comportan como todas las instancias de la clase MovieClip, puesto
que en el paso 5 se indicó que la nueva clase debe heredarse de la clase
MovieClip.
function myClipClass(){} myClipClass.prototype = new MovieClip();myClipClass.prototype.onLoad = function(){trace("se ha cargado el clip de película");
}myClipClass.prototype.onPress = function(){ trace("presionado");} myClipClass.prototype.onEnterFrame = function(){trace("el clip de película ha entrado en el fotograma");
} myClipClass.prototype.myfunction = function(){trace("se ha llamado al método myfunction");
} Object.registerClass("myclipID",myClipClass);_root.attachMovie("myclipID","ablue2",3);
Manipulación
de botones con ActionScript
Cada botón de una película Flash es un objeto de ActionScript de la
clase Button con sus propios métodos y propiedades. Los botones poseen las
mismas propiedades que los clips de película, pero algunas propiedades (_currentframe, _droptarget, _framesloaded y _totalframes) no son compatibles y
devuelven el valor undefined. La clase Button tiene dos
propiedades adicionales: useHandCursor, que permite decidir si el cursor se convierte en
una mano cuando pasa por encima de un botón, y enabled, que permite especificar si
el botón está activo o no.
Puede asignar un nombre de instancia a un botón en el inspector de
propiedades y utilizar una ruta de destino para manipularlo con ActionScript.
Para escribir una ruta de destino para una instancia de botón, escriba la ruta
de destino del clip de película en el que se encuentra el botón, agregue un
punto (.) y el nombre de instancia
del botón. En el ejemplo siguiente se desactiva la instancia de botón myButton de la línea de tiempo del
clip de película childClip, que se encuentra en la línea
de tiempo del clip de película parentClip:
parentClip.childClip.myButton.enabled = false;