Formatos de video. MPEG, FLV y AVI.

Como existe diferentes tipos de formato de imágenes tales como TPEG, TIFF, GIF etc. También para los videos, entender porque y como funcionan dichos formatos ayudara considerablemente lograr mejores resultados en nuestra Web.

Que es un vídeo MPEG:

Las siglas MPEG corresponden a Moving Picture Experts Group el cual es un grupo de trabajo encargado de impulsar estándares con respecto al uso de las imágenes.

Los videos en dicho formato tienen por característica una compresión que los hace más livianos al momento de transportar. El sistema de compresión consiste de la fragmentación de los datos y el almacenamiento de aquellos que son diferentes, los cuales se repitan son quitados logrando una mejora en el peso total del archivo.

En la antigüedad este sin dudas fue uno de los formatos más adecuados y prometedores para la Web. Actualmente se considera desestimado con respecto a otros formatos como H264 o OGG Theodora que prestan mejor calidad / rendimiento.

Que es un vídeo AVI:

El formato AVI (siglas en inglés de Audio Video Interleave) es el formato propuesto por Microsoft desde 1992 como contenedor de videos y audio.

El video o audio no necesariamente tiene que ser AVI, ya que este es un contenedor, el códec que interpreta el flujo puede reproducir otros formatos como DivX, MP3, AC3 etc.

La propiedad más importante de este formato es sin dudas su capacidad de contener varios flujos de información en el mismo fragmento de datos. Esta capacidad se denomina interleave y es la que nos da la posibilidad de cuando vemos una película poder cambiar el audio de un idioma a otro. Por ende quiere decir que el cuadro y el sonido van vinculados unos con  el otro.

Este formato aun sigue siendo muy popular dado que la distribución de películas hogareñas en su mayoría CD-ROM contó con versiones en AVI DviX logrando muy buena calidad sin requerir un DVD-R.

En la actualidad es muy raro ver la implementación de AVI en Web.

Que es un vídeo  FLV:

Flash Video es un formato contenedor a igual que AVI diseñado para transmitir video en la Web. El formato fue creado por la empresa Macromedia y continuado por Adobe después de su adquisición. Flash video puede ser reproducido por el Flash Player principalmente aunque si se instala los códec de ffdshow tambien se pueden reproducir en otros player como Windows media. Actualmente Flash Player se encuentra en casi toda la población de equipos por lo tanto es un formato muy popular lo que llevo a sitios como YouTube, Yahoo video y Google video a utilizarlo como reproductor estándar.

La calidad del video en general es buena, después de las version 8 se introdujo un nuevo códec de compresión On2 TrueMotion lo que incremento la calidad considerablemente. Las últimas versiones de FVL ya trabajan con soporte H264 brindando calidad en alta definición (HD).

¿Entonces que formato de vídeo usamos para Internet?

Claro esta que para web lo ideal es usar Flash video, por sus prestaciones tanto en peso / calidad y la nueva disponibilidad de soportar video en HD. Pero no solo esas cualidades son las que lo destaca del resto, tenemos que considerar que Flash Video puede interactuar con el lenguaje de programación que interpreta el Flash Player (ActionScript).

Este ultimo nos abre un océano de posibilidades, desde la manipulación del tiempo, eventos, a interactividad. El video como secuencia lineal con Flash video ya no lo es mas, y pasa se ahora un medio interactivo con el usuario.

También Flash video cuenta con la posibilidad de manejar canales alpha (transparentes) para lograr montajes sobre fondos croma  y el poder transmitir en Flash video en modo streaming (vivo) a una cantidad de usuarios al mismo tiempo.

Actualmente es el formato de mayor uso, penetración y compatibilidad, desde películas, programas en vivo hasta salas de chat con audio y video, son las posibilidades que brinda Flash Video.

El reproductor de FLV.

Para reproducir un video en formato FLV, puede realizarlo desde una aplicación de terceros como por ejemplo Mplayer, o incorporar el video en un archivo FLA (Flash). También puede leerlos en modo streaming utilizando algún reproductor.

¿Como convierto archivos AVI, MPEG a FLV?

Cuando se instala el programa de desarrollo Adobe Flash, el mismo incluye una aplicación llamada Flash Video Encoder. Esta es la encargada de convertir formatos como AVI, MPEG, MOV, MP4, MP3 etc. a formato FLV.

También existen aplicaciones de conversión de terceros. Aunque lo recomendable es usar la de Adobe si es que queremos conseguir buenos resultados.

Es importante destacar que para convertir formatos de video a Flash video, es necesario tener instalado QuickTime, ya que este nos brindara de los códec secundarios que requiere el Flash Video Endoder.

Video en la Web, conceptos básicos.

El avance en compresores y ancho de banda disponible dieron origen a una explosión de aplicaciones y uso del video en la Web. Desde sitios como YouTube a sitios personales que interactúan con video logrando una mejor experiencia al navegar contenido multimedia.

El uso de video desde sus principios implicaba un gran problema a la hora de implementarse y reproducirse. El mismo requería no solo de plug-in o complementos especiales instalados en nuestro sistema. También consumía mucho ancho de banda con respecto a lo que se disponía años atrás. Actualmente quizás el peso de los videos no se vio reducido, al contrario, con respecto a nuevas tecnologías como el HD (Alta definición) se incrementó. También se amplio considerablemente la velocidad de descarga haciendo los videos mas accesibles y disponibles para el común de los usuarios.

¿Que necesito para ver videos?

Los requerimientos actuales para reproducir video desde un navegador no están lejos de los computadores más básicos. Pero es importante saber que una buena cantidad de memoria RAM y una placa de video de media calidad son los requerimientos básicos. Esto también requiere una conexión a Internet de por lo menos 512 kb/s si queremos ver video sin cortes a baja calidad. Actualmente se dispone de videos en formatos de mayor calidad como HD 240p, 360p, 720p y 1080p. Cuando mayor es la calidad mayor es el peso del video, por ende se requiere de mayor velocidad de descarga si es que no queremos percibir cortes.

Otro punto importante es el Software, requerimos de programas o lo que se conoce como Códec o decoder para visualizar los videos. En la actualidad contamos con diferentes formatos de videos, algunos más populares que otros.

Dichos códec son los encargados de descomprimir o interpretar el video y mostrarlo visualmente de manera correcta. Cuando no contamos con los adecuados puede pasar que no podamos abrir el archivo o solo escuchemos el audio y no veamos ninguna imagen.

Actualmente los códec mas comunes vienen incluidos en el SO (sistema operativo) aunque hay formatos como H264 que requieren por ejemplo instalar el Flash Player para poder visualizarlos desde la Web. También existen formatos como MOV o MP4  que pueden ser preproducidos por el player de Flash o el QuickTime de Apple.

¿Porque tantos formatos?

Los videos son una secuencia de imágenes a cierta cantidad de cuadros por segundos, es decir que si por analogía usamos el mismo criterio que las imágenes podemos llegar a la conclusión que cuando mayor es la calidad de cada imagen mayor es el peso total, cuando mas colores tenga una imagen mayor es el peso, cuando mas datos por píxel esta utilice, mayor es el peso.

Otro factor importante es el tamaño respecto a su alto y ancho, cuanto mas grande es la área del video mas Kb. ocupara.

Con este criterio  los formatos van a depender no solo por el medio que lo digitalizo sino también por el medio de transporte. Si el medio es un disco DVD el formato puede ser “.bov” a una calidad HD sin casi ningún tipo de compresión. En cambio si el medio es la web necesitamos un formato adecuado que asegure calidad / peso como el MP4 o FLV.

La compresión es el factor de bytes quitados que no son necesarios para almacenar un dato completo, ya que esos datos pueden ser reconstruidos al momento de descomprimir tomando otros datos similares o contiguos. Cuando mayor es factor de compresión, mayor es la cantidad de datos quitados del archivo original. Una compresión excesiva lleva a la perdida de datos y por ende menor calidad del video. Según con el método de compresión o códec que se utilice vamos a lograr los resultados buscados. Los formatos mas conocidos son .AVI y .MOV, cada uno de estos formatos cuenta con sus compresores como DIVX para .AVI o el H264 para los .MOV.

En conclusión a la hora de elegir el formato no hay nada a ciencia cierta que indique cual es el mejor, simplemente lo será el que se adecue a las circunstancias buscadas. Lo ideal es lograr menor peso y mayor calidad, si logramos esa ecuación cualquier formato será igual. Pero no olvidemos que formatos como H264 “MOV, MP4 y QT” tienden a lograr excelente calidad a menor peso.

Actualmente Adobe Flash soporta video en formato HD  es decir que entre el formato nativo FLV (Flash video) también actualmente con cualquier versión superior a la 10 del Flash Player podremos visualizar videos en formato .MOV, MP4, FLV, F4V o H264.

Ya como dijimos antes el formato será adecuado según el uso que queramos conseguir, si lo que queremos es mostrar un video en alta calidad a un tamaño razonable y medianamente con un peso liviano, usaremos MP4 o H264. En cambio si queremos un video de fondo de menor calidad y prioridad en el peso (poco peso), el formato adecuado será FLV. No quiere decir que los videos en FLV sean siempre de baja calidad, la calidad y el peso lo vamos a definir desde el Flash Encoder cuando preparemos nuestra película, en los capítulos siguientes veremos paso a paso dicho proceso de compresión.

Uno de los factores mas importantes que tiene los archivos en FLV es que soportan un canal alpha (transparencia) igual que los MOV, y también incorpora un sistema de marcadores mediante metas datos llamado cuepoint.

Los cuepoint son puntos de anclajes donde el video ejecuta un evento cuando la cabeza lectora pase por el mismo. Útil para subtítulos, interactividad o sincronismo de eventos.

Librerías de animación en ActionScript 3, animación en AS tercera parte

La animación mediante interpolación de movimiento es una tarea de tipo manual, la cual presenta dificultad si es que queremos animar objetos que son cargados dinámicamente o sus propiedades son relativas. Para ello se implementa paquetes para manejar movimiento, eventos y física sobre objetos desde el código.

Tween

Entre las clases nativas de Adobe Flash, contamos con una llamada Tween, la cual pertenece al paquete fl.transitions, dicha clase hereda de EventDispatcher > Object.

Nota: “EventDispatcher” Clase que se encarga de que los elementos cargados en la lista de visualización puedan manejar eventos.

La clase Tween nos dará la posibilidad de animar objetos, editar sus propiedades, como por ejemplo opacidad (alpha) o escala (scaleX) utilizando código. También es importante saber que dicha clase nos permite manipular el tipo de física para un objeto determinado (aceleración, desaceleración o rebote).

La clase Tween en la versión de AS3 se implementa de la misma manera que las versiones anteriores en AS2, pero cambia la escritura literal de sus propiedades, métodos y eventos.

Implementación básica

Se requieren en el escenario un MovieClip con el nombre de instancia peli_mc. Haga clic en el primer fotograma y coloque lo siguiente:

ActionScript
< view plain text >
  1. import fl.transitions.Tween;
  2. import fl.transitions.easing.Elastic;
  3. var miTween:Tween = new Tween(peli_mc,"y",Elastic.easeOut,0,100,1,true)

Importamos la clase Tween “import fl.transitions.Tween;”
Esta es la clase encargada de darnos todas las posibilidades para mover y editar propiedades de un objeto, como por ejemplo un movieClip.

import fl.transitions.easing.Elastic;
Importamos la clase de suavizado de movimiento, cuando movamos un objeto con esta clase podremos indicar comportamientos físicos como aceleración, rebote o desaceleración tanto al inicio o final de la animación.

var miTween:Tween = new Tween(peli_mc,”y”,Elastic.easeOut,0,100,1,true)
Finalmente creamos el objeto pasando por parámetro los valores requeridos. En este caso el objeto se llama miTween y al llamar el constructor (new) pasamos los siguientes parámetros:

peli_mc (Objeto): Nombre de instancia o nombre de variable del objeto a modificar su propiedad. Es importante recordar que sólo se pueden afectar a objetos que hereden de la clase InteractiveObject, por ejemplo: MovieClip, Sprite, TextField, Stage, Loader y SimpleButton.

“y” (String): Cadena de texto que representa la propiedad a modificar, en este caso la posición en el eje Y.

Elastic.easeOut (Function): El tipo de suavizado del movimiento. Si quisiéramos que el movimiento se comporte como un elástico y rebote al final de la animación, ésta es la mejor opción, o en su defecto podemos usar las siguientes: Back, Bounce, Elastic, None, Regular y Strong las cuales debemos importarlas a todas si es que necesitamos disponer de ellas.

Fíjese que al final de la línea de código se agrego un asterisco (*), el cual indica cargar todos los paquetes de ese directorio. “import fl.transitions.easing.*;”

A estas propiedades de aceleración le sumamos el suavizado que queramos: easeIn, easeOut y easeInOut.

0 (Number): Valor inicial o comienzo de la propiedad “y”.

100 (Number): Valor final de la propiedad “y”.

1 (Number): Duración de la transición.

True (Boolean, por defecto false): indicador si vamos a sincronizar la transición con segundos como unidad de tiempo o con los fotogramas. True, para utilizar una medida de tiempo en segundo, false para utilizar una medida de tiempo expresada en fotogramas.

En el ejemplo anterior podemos ver que inmediatamente cuando compilamos el swf se ejecuta la animación del MovieClip en el eje “y”. Si quisiéramos controlar dicho movimiento desde un evento del mouse tendríamos que utilizar el método start(); para dar comienzo a la interpolación cuando hacemos clic en el MovieClip.

ActionScript
< view plain text >
  1. import fl.transitions.Tween;
  2. import fl.transitions.easing.Elastic;
  3. var miTween:Tween = new Tween(peli_mc,"y",Elastic.easeOut,0,100,2,true);
  4. peli_mc.addEventListener(MouseEvent.CLICK,onClick);
  5. function onClick(e:MouseEvent):void
  6. {
  7. miTween.start();
  8. }

Ahora al hacer clic en el MovieClip ejecutamos la interpolación mediante el método start().
Los métodos más comunes que podemos utilizar son los siguientes:

  • start(): Inicializa la interpolación.
  • stop(): Detiene la interpolación.
  • resume: reanuda la interpolación donde se detuvo.
  • fforward: Adelanta la interpolación hasta el final.
  • rewind: Retrocede la interpolación al valor inicial.

También es importante recordar que la clase Tween cuenta con detectores de eventos que nos facilitarán la tarea de animar objetos y desencadenar acciones según los estados de los mismos.

ActionScript
< view plain text >
  1. import fl.transitions.Tween;
  2. import fl.transitions.easing.Elastic;
  3. import fl.transitions.TweenEvent;
  4. var miTween:Tween = new Tween(peli_mc,"y",Elastic.easeOut,0,100,2,true);
  5. peli_mc.addEventListener(MouseEvent.CLICK,onClick);
  6. function onClick(e:MouseEvent):void
  7. {
  8. miTween.start();
  9. }
  10. miTween.addEventListener(TweenEvent.MOTION_FINISH,onTweenFinish);
  11. function onTweenFinish(e:TweenEvent):void
  12. {
  13. trace("movimiento finalizado");
  14. }

En el ejemplo aquí expresado se agrega un escuchador al evento que se dispare cuando la interpolación a finalizado por completo.

Otros eventos utilizados normalmente son:

  • MOTION_START: La interpolación a comenzado.
  • MOTION_STOP: Se detuvo la interpolación mediante el método stop().
  • MOTION_RESUME: Se reanudó la interpolación luego de una pausa.
  • MOTION_LOOP: Se completó un ciclo de un loop (yoyo).

Nota: se importó la clase TweenEvent para estos detectores de eventos. (import fl.transitions.TweenEvent;).

Efectos físicos con ActionScript 3, animación por AS segunda parte

Al mover objetos mediante código el siguiente paso será realizar sin dudas un efecto de física, como por ejemplo rebote, elasticidad o gravedad.

Para estos efectos no hay más opción que recurrir a las matemáticas y transcribir aquellas operaciones a funciones que simulen dicha realidad en un campo virtual.

Los efectos físicos sobre un objeto son innumerables, desde el movimiento lineal o ondulatorio, sea con aceleración o des aceleración en cualquiera de sus etapas inicial o final.
También sin dejar de lado todas las variantes que se pueden conseguir sumando gravedad y fricción de un objeto. Analizaremos los casos más comunes de la física, ya que los mismos son los mas recurrentes a la hora de realizar animaciones.

Aunque contemos con un solo fotograma el cabezal pasa por ese mismo cuantas veces indiquemos en los frames por segundos.

Aceleración

La aceleración de un objeto puede ser lineal y proporcional en su velocidad en la que se realiza el efecto. Un claro ejemplo de aceleración lineal es el siguiente.
Para este ejemplo se requiere un clip de película en el escenario con el nombre de instancia “peli_mc”.

ActionScript
< view plain text >
  1. peli_mc.addEventListener(Event.ENTER_FRAME, EventEnterFrame);
  2. function EventEnterFrame(e:Event):void
  3. {
  4. peli_mc.x +=  5;
  5. }
El movimiento lineal sea cualquiera su dirección se da proporcional e igual su velocidad de desplazamiento. (+=)
El movimiento lineal sea cualquiera su dirección se da proporcional e igual su velocidad de desplazamiento. (+=)

Aquí ya tenemos una simple interpolación donde el objeto se mueve linealmente y con una velocidad proporcional por cada pasada del cabezal.
Pero de seguro que la idea es lograr una aceleración y desaceleración del objeto, sea al principio, final o ambas.

Si por ejemplo queremos que un objeto de desplace a un punto indicado inicialmente rápido y se detenga gradualmente tendríamos que calcular la distancia entre ambos puntos, dividir la distancia en por un factor y a dicho resultado sumar a la posición actual del objeto, luego dividir ese segmento nuevamente por el mismo valor y sumar la posición actual del objeto, así sucesivamente hasta que no queda mas distancia. El ojo percibirá un efecto de desaceleración al final de la interpolación.

ActionScript
< view plain text >
  1. var destinoX:uint = stage.stageWidth - peli_mc.width;
  2. var velocidad:uint = 5;
  3. peli_mc.addEventListener(Event.ENTER_FRAME, EventEnterFrame);
  4. function EventEnterFrame(e:Event):void
  5. {
  6. peli_mc.x +=  (destinoX- peli_mc.x)/velocidad;
  7. }

Fíjese en el ejemplo que agregamos dos variables nuevas, una de ellas es el punto de destino final, el cual es el ancho del escenario menos el ancho del objeto.
El factor de velocidad, cuanto mas grande el numero el efecto demorara mas en completarse.

Cuando el objeto este mas próximo al destino final, su velocidad se reduce proporcional.

Elasticidad:

Este tipo de interpolación se destaca por el rebote en la animación, la que puede ser al inicio, final o en ambos extremos de la animación. El rebote esta dado por la multiplicación de sus valores relativos de posición por un factor asignado. Luego por cada ciclo repite los pasos de aceleración.

ActionScript
< view plain text >
  1. var destinoX:uint = stage.stageWidth - peli_mc.width;
  2. var velocidad:Number = 8;
  3. var locationObj:Number = 0;
  4. var rebote:Number = 0.8;
  5. peli_mc.addEventListener(Event.ENTER_FRAME, EventEnterFrame);
  6. function EventEnterFrame(e:Event):void
  7. {
  8. var distancia:Number(destinoX-peli_mc.x)/velocidad;
  9. locationObj +=  distancia;
  10. locationObj *=  rebote;
  11. peli_mc.x +=  locationObj;
  12. }
La elasticidad la simulación de un elástico, el objeto se pasa y vuelve de su destino final hasta detenerse. También puede darse en sentido inverso o en ambos.
La elasticidad la simulación de un elástico, el objeto se pasa y vuelve de su destino final hasta detenerse. También puede darse en sentido inverso o en ambos.

Gravedad:

El efecto de gravedad esta dado por varios factores que deben igualar la realidad de la vida cotidiana. Uno de ellos es el factor de fuerza y peso del objeto. También interviene un valor que representa el rebote del objeto para darnos una mejor experiencia sobre el efecto buscado.

Por lo tanto en este caso vamos a tener que declarar los valores iniciales como fuerza, peso y también los valores finales de tope o piso y también el factor de rebote. Sin dudas que si analizamos podemos ver como desde la animación simple lineal del primer ejemplo fuimos agregando efectos físicos sin muchos problemas y con resultados muy buenos sin incrementar la cantidad de frames de nuestra película.

ActionScript
< view plain text >
  1. var destinoY:uint = stage.stageHeight - peli_mc.height;
  2. var velocidad:Number = 0;
  3. var rebote:Number = 0.9;
  4. var gravedad:Number = 5;
  5. peli_mc.addEventListener(Event.ENTER_FRAME, EventEnterFrame);
  6. function EventEnterFrame(e:Event):void
  7. {
  8. velocidad = velocidad + gravedad ;
  9. peli_mc.y +=  velocidad/5;
  10. if (peli_mc.y &gt; destinoY) {
  11. peli_mc.y = destinoY ;
  12. velocidad *= -rebote ;
  13. }
  14. }

Como se puede observar aquí se declaran nuevas variables como velocidad, rebote y gravedad. La variable velocidad se va incrementando gradualmente mientras la animación se completa.

El rebote es el factor que se resta de la distancia por cada ciclo de movimiento, el mismo debe ser menor a 1 para que el objeto de la sensación de perdida de fuerza. Si lo dejamos el valor en 1 el objeto no deja de rebotar. Si en cambio lo incrementamos el objeto rebotara cada vez más lejos del límite o piso que indicamos.
La variable gravedad es la encargada de manejar la velocidad con la cual es atraído el objeto al punto final.

Nota: El punto final o destino fue definido en la línea.

ActionScript
< view plain text >
  1. var destinoY:uint = stage.stageHeight - peli_mc.height;

Estos tres principios básicos de física son los que mas se requieren a la hora de animación por código, o en su defecto son los más recurrentes para lograr otros efectos. Mezclando cualquiera de ellos o modificándolos levemente se puede lograr entornos muy realistas de simulación. No hay limites a la hora de simular formulas físicas en Actionscript, solo se requiere un poco de matemáticas y lógica.

Tutorial de CSS

Excelente curso, tutorial de css totalmente en español, muy recomendable para aquellos que recién comienzan o también para aquellos que quieran saciar algunas dudas básicas y otras más avanzadas.

Les dejo un detalle de los contenidos:
CAPITULO 1
Hojas de estilo con CSS1

CAPITULO 2
Estructura de una hoja de estilo CSS

CAPITULO 3
Usar hojas de estilo en documentos HTML

CAPITULO 4
La cascada de CSS

CAPITULO 5
Unidades de medida

CAPITULO 6
Propiedades de CSS1

Desencadenar eventos en flash, uso de botones y movieClip

Entre las tantas cosas que pueden desencadenar eventos en flash como por ejemplo si movemos el Mouse, si abrimos una película, si presionamos una tecla, también tenemos los botones.
Los botones en flash tienen la particularidad (entre tantas) de cuando le hacemos clic pueden realizar algo (evento), este evento tiene una manera y un ámbito de donde se desarrolla.
Ejemplo 1:

ActionScript
< view plain text >
  1. mi_boton_btn.onRelease = function (){
  2. //aquí la acción a realizar
  3. }

 

Ejemplo 2:

ActionScript
< view plain text >
  1. onRelease(){
  2. //aquí la acción a realizar
  3. }

En ambos ejemplos  usamos el detector (onRelease) que significa que el evento se va a desencadenar cuando el usuario presione y suelte el botón.
La diferencia de ambos ejemplos son que de la primera forma debemos indicar el nombre de instancia del botón que queremos detectar el evento y dicha porción de código será escrita sobre un frame.
En el segundo caso la acción esta incluida en el botón mismo.
En mi caso particular trato de evitar los botones como símbolo, y utilizo en su reemplazo clip de película, que estos pueden recibir las mismas propiedades de un botón mas los comportamientos típicos de un clip de película.

Como ya vimos un boton o clip de pelicula puede recibir o detectar el evento onRelease (cuando se presiono y se soltó el botón del Mouse) pero no es el único evento estos pueden recibir.

Sigamos con el caso de que tengamos una película y esta la usamos como si fuese un botón, los eventos entre tantos que este detectaría seria los siguientes.
Observen por ustedes mismos que el nombre de instancia usa el subfilo “_mc” al tipear un punto “.” Automáticamente flash nos desplegara todas las propiedades y eventos disponibles. Por supuesto que esta manera de escribir el codigo es para colocarlo en un frame de nuestra linea de tiempo.

ActionScript
< view plain text >
  1. miPelicula_mc.onRelease = function (){
  2. //accion al hacer clic y soltar el mouse
  3. }
  4.  
  5. miPelicula_mc.onRollOver = function (){
  6. //accion al pasar el Mouse por arriba
  7. }
  8.  
  9. miPelicula_mc.onRollOut = function (){
  10. //accion al salir el mause sobre la pelicula
  11. }
  12.  
  13. miPelicula_mc.onMouseMove= function (){
  14. //accion al mover el cursor del mouse
  15. }
  16.  
  17. miPelicula_mc.onPress= function (){
  18. //accion al presionar el mouse
  19. }

Prueben ustedes mismo mas opciones, pero un ejemplo practico y sencillo seria tener un objeto en nuestro escenario y al presionarlo es se arrastre (Drag) y al soltar el Mouse este deje de arrastrarse.

ActionScript
< view plain text >
  1. miPelicula_mc.onPress= function (){
  2. this.startDrag ()
  3. }
  4.  
  5. miPelicula_mc.onRelease= function (){
  6. this.stopDrag ()
  7. }

Nuestro primer evento indica que mientras este presionado el mouse esta (this) pelicula se arrastre.
El segundo evento se desencadenara cuando soltemos el Mouse, por lo tanto esta (this) pelicula dejara de arrastrarse.

NOTA: Como pueden ver usamos la particula (this) que hace referencia directamente a mi mismo, seria lo mismo escribirlo de esta manera:

ActionScript
< view plain text >
  1. miPelicula_mc.onPress= function (){
  2. miPelicula_mc.startDrag ()
  3. }
  4.  
  5. miPelicula_mc.onRelease= function (){
  6. miPelicula_mc.stopDrag ()
  7. }

Pero de esta manera queda poco prolijo y en un tiempo fututo les puede traer algunos problemas, asi que siempre cuando nos refiramos a nosotros mismos podemos reemplazar nuestro nombre de instancia o lo que sea por “this