Sección de tutoriales y manuales vb
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
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.
Una ves insertado el control en un formulario, desde la ventana custom o personalizado del control, se pueden especificar las principales propiedades, como:
Un detalle para que veas el modo de escala. Suponiendo que la película original tiene estas dimensiones:
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:
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
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)
Si quisiéramos ver la posición de la cabeza lectora para saber el número de frame, podemos usar la propiedad CurrentFrame
Ejemplo:
Coloca un Timer con el Interval en 100. Un swf llamado archivo.swf en el App de tu programa, un Label1 para visualizar en el label el numero de frame y un Command1 para cargar y comenzar la reproducción.
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
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
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.
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
Buscar en Recursos vb
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar