VB .NET -  Usando arquivos Flash (.wsf)


Que tal usar animações flash no VB .NET ? 

A parceria pode ser útil e recompensadora em alguns cenários.

Vamos criar um exemplo prático que utiliza algumas animações prontas em Flash (extensão .sfw) em uma aplicação VB .NET para mostrar como você pode usar o Flash no VB .NET.

Abra o Visual Studio 2010 Express Edition e crie uma nova aplicação Windows Forms Application com o nome AnimacoesFlash;

Obs: Você pode usar o Visual Basic 2010 Express Edition

No menu FIle -> New Project , selecione o template Visual Basic -> Windows -> Windows Forms Application;

Vamos incluir agora a referência a dll do Flash no projeto. No menu Project clique em Add Reference;

A seguir selecione a aba COM e selecione o item Shockawave Flash e clique em OK;

Nas referências do projeto você deverá visualizar a referência a dll AxShockwaveFlashObjects;

Se examinarmos o objeto AxShockwaveFlash veremos seus métodos e propriedades. No exemplo eu vou usar apenas os métodos Stop e Play para parar e executar as animações, mas você pode explorar outros métodos.

Agora vamos incluir no formulário form1.vb os componentes Menu1Strip e AxShockwaveFlashObjects.AxShochwaveFlash e criar as opções de menu conforme a figura abaixo:

Vamos criar uma pasta no projeto chamada Flash onde iremos copiar os arquivos de animações Flash. Clique com o botão direito do mouse sobre o projeto e selecione Add -> New Folder e a seguir informe  o nome Flash;

Vamos incluir um Módulo no programa via menu Project -> Add Module com o nome Funcao.vb e incluir neste módulo uma função para retornar o caminho dos arquivos Flash:

Module Funcao
    Public Function getCaminhoFlash(ByVal caminho As String) As String
        Return caminho.Replace("\bin", "\Flash")
    End Function
End Module

 

O código para executar as animações é basicamente o mesmo:

        
        Dim caminho As String = Application.StartupPath  
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\nomeArquivoFlash.swf"
        AxShockwaveFlash1.Play()

 

Obtemos o caminho onde estão os arquivos flash, no nosso exemplo a pasta Flash e a seguir usamos o método Stop() para parar a execução depois fornecemos o caminho e nome do arquivo flash e usamos o método Play() para executar a animação.

O código completo do formulário form1.vb pode ser visto abaixo:

Public Class Form1
    Private Sub AdiçãoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles AdiçãoToolStripMenuItem.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\Mathematics-Addition.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub SubtraçãoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SubtraçãoToolStripMenuItem.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\Mathematics-Subtraction.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub MultiplicaçãoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles MultiplicaçãoToolStripMenuItem.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\Mathematics-Multiplication.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub DivisãoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DivisãoToolStripMenuItem.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\Mathematics-Division.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub AutorToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles AutorToolStripMenuItem1.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\tv.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub SobreToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SobreToolStripMenuItem.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\about.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub PrincipalToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles PrincipalToolStripMenuItem.Click
        Dim caminho As String = Application.StartupPath
        Dim pastaFlash As String = getCaminhoFlash(caminho)
        AxShockwaveFlash1.Stop()
        AxShockwaveFlash1.Movie = pastaFlash & "\Jesz.swf"
        AxShockwaveFlash1.Play()
    End Sub
    Private Sub SairToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SairToolStripMenuItem.Click
        Me.Close()
    End Sub
End Class

Executando o projeto iremos obter:

 
 

As animações possuem som e são executadas sem problemas no VB .NET.

Pegue o projeto completo aqui: AnimacoesFlash.zip

"Portando meus amados, fugi da idolatria." 1 Coríntios 10:14

Referências:


José Carlos Macoratti