Sección de tutoriales y manuales vb

Control ShockWave Flash - Flash y visual Basic

Volver al índice

Guía del ocx ShockWave de Flash para usarlo desde vb



 

 

 

 

 

 

 

 


1 - Descripción del control ShockWave

Con el ocx llamado Shockwave Flash podemos insertar e incorporar archivos con extención swf en proyectos de vb.

Este ocx se añade a un proyecto de Visual Basic como cualquier otro desde el menú Proyectos - Componentes o presionando conjuntamente Ctrl+t, y chequeando en la lista de componentes ShockWave Flash

 

 


2 - Ventana Custom del control shockWave flash

 

Vista previa de la página de propiedades del control shockWave flash para configurar las principales propiedades

 

Mi opinión personal, no se si estaré en lo cierto, es que lo mas cómodo y funcional es manejar todas estas propiedades en tiempo de ejecución y no desde la ventana Custom o desde la ventana de propiedades de Visual Basic, ya que creo que posee un bug por lo que estuve ojeando, por lo que al cambiar una propiedad, y volver a cambiar otra nuevamente, hay que cerrar previamente la ventana por cada modificación en las propiedades y volver a abrirla para establecer otra, cosa muy muy incómoda.

 


3 - Principales propiedades

Una ves insertado el control en un formulario, desde la ventana custom o personalizado del control, se pueden especificar las principales propiedades, como:

 



4 - Propiedad scale del shockWave

Un detalle para que veas el modo de escala. Suponiendo que la película original tiene estas dimensiones:

 

Vista previa del swf con la propiedad escala en NoScale

 

Con el valor NoScale se vería de las dimensiones que tenga el swf por mas que nosotros modifiquemos las dimensiones del control Shockwave, es decir se visualizará tal como el original.

Si colocamos la propiedad ExactFit, al cambiarle el tamaño al control, la película se adaptará o redimensionará al tamaño del mismo, sería similar y como comparar la propiedad Stretch del control Image de vb en la que el mapa de bits se ajusta al tamaño del control, por ejemplo:

 

Vista previa del ShockWave con el valor ExactFit para la escala de visualización

 

Solo es cuestión de que pruebes vos mismo para que te des mejor una idea de como quedará presentado el swf dentro del Shockwave

 


5 - Ejemplos de como manejar el control desde código:

 

Para cargar una película en tiempo de ejecución:

Este ejemplo carga un swf llamado archivo.swf que se encuentra en el directorio de la aplicación. Utilizando el método Play comenzamos la reproducción, si esta se encuentra detenida con Stop ya sea desde el propio flash o desde el propio Visual Basic.

 

Private Sub Command1_Click()

With ShockwaveFlash1

.Movie = App.Path & "\archivo.swf"
'No comienza nuevamente al llegar al último fotograma de la línea de tiempo
.Loop = False
'Reproducimos
.Play

End With

End Sub

 

Si quisiéramos detener la cabeza lectora del swf, es decir la reproducción de la película, podemos usar el método Stop del control shockWave . Ejemplo:

 

Private Sub Command2_Click()
ShockwaveFlash1.Stop
End Sub

 

Nota importante: Cuando nos referimos a reproducir o parar alguna película, tenemos que tener en cuenta que estamos refiriéndonos a la línea de tiempo principal del swf (el _root). Por lo tanto un MovieClip con su propia línea de tiempo no hará caso a estas instrucciones ya que los MovieClips poseen sus propios líneas de tiempo. (si conoces flash esto es muy básico, pero por las dudas no viene mal y no esta de mas aclararlo)

 

 


6 - Propiedad CurrentFrame

Si quisiéramos ver la posición de la cabeza lectora para saber el número de frame, podemos usar la propiedad CurrentFrame

Ejemplo:

Private Sub Command1_Click()

With ShockwaveFlash1

.Movie = App.Path & "\archivo.swf"

.Play

End With
End Sub

Private Sub Timer1_Timer()
Label1 = "Frame " & ShockwaveFlash1.CurrentFrame
End Sub

 


7 - Método FordWard

Este métodoavanza un Frame. Para un ejemplo de como funciona, utilizamos el mismo ejemplo de antes, lo único que en este caso se carga en el FormLoad la película y se detiene con Stop. Luego un Command1 cada ves que lo presiones avanzara un Frame Por lo tanto deja el Timer1 del ejemplo anterior, También deja el Label1 y coloca como se mencionó un command1.

 

Private Sub Command1_Click()

ShockwaveFlash1.Forward

End Sub

Private Sub Form_Load()
ShockwaveFlash1.Movie = App.Path & "\archivo.swf"
ShockwaveFlash1.Stop
End Sub

Private Sub Timer1_Timer()
Label1 = "Frame " & ShockwaveFlash1.CurrentFrame
End Sub

 

 


8 - Método GotoFrame

Este método o función permite posicionar la cabeza lectora de la línea de tiempo en un Frame especifico:

Ejemplo:

Coloca un Command1 que se posicionara en el Frame y un text1 que le debemos indicar el número de Frame

 

Private Sub PosicionarFrame(frame As Integer)

ShockwaveFlash1.GotoFrame frame

End Sub

Private Sub Command1_Click()
'Le enviamos al procedimiento el numero de Frame
PosicionarFrame Text1

End Sub

Private Sub Form_Load()
'cargamos
ShockwaveFlash1.Movie = App.Path & "\archivo.swf"
'Paramos la reproduccion
ShockwaveFlash1.Stop

End Sub

 

Si le especificamos en el ejemplo anterior en el Text1 un numero que es mayor a la cantidad de frames del swf, no producirá error, solo irá al ultimo Frame de la película.

 


9 - Método Rewind

Este método rebobina la película

Ejemplo:

Coloca un Command1 y cuando lo presiones irá al primer fotograma.

 

Private Sub Command1_Click()
ShockwaveFlash1.Rewind 'Rebobinamos al primer fotograma
End Sub

Private Sub Form_Load()

ShockwaveFlash1.Movie = App.Path & "\archivo.swf" 'Archivo
ShockwaveFlash1.Play 'Reproducimos
ShockwaveFlash1.Loop = False 'llega al final y se detiene

End Sub

 

Bueno el ShockWave Flash tiene muchas otras propiedades y métodos y te comento que lo que se vio acá es algo muy básico, pero en fin, espero que te sirva para hacerte una idea y tener una base para empezar, y yo también espero cuando tenga un tiempo de alargar esta página y con mas ejemplos

 


Volver al índice

 

 


Buscar en Recursos vb