En este ejemplo desarrollo una animación de un automóvil que se desplaza de un lado a otro hasta que choca con un árbol.

Mientras en automóvil se desplaza hay un sonido de ambiente de fondo y cuando choca hay 2 sonidos uno es el de frenado de auto y el otro es cuando choca. Para animar el automóvil uso el control Timer.

El código para animar es muy simple:

Controles:

Timer1.Interval = 1 este control es el principal y donde va casi toda la programación que seria la siguiente:

Private Sub Timer1_Timer()
    Static Contador As Integer
    Static SonidoF As Boolean
    Static SonidoE As Boolean
    
    ImgCarro1.Left = ImgCarro1.Left + 80
    
    
    If ImgCarro1.Left > Me.Width Then
       ImgCarro1.Left = -50
       Contador = Contador + 1
    End If
    
    If Contador >= 3 Then
       ImgArbol.Visible = True

       
       If ImgCarro1.Left >= 3640 And ImgCarro1.Left <= 11160 And SonidoF = False Then
          Call ReproducirSonido(SonidFrenada, False)
          SonidoF = True
       End If
       If ImgCarro1.Left >= 11160 And SonidoE = False Then
          ImgExplosion.Visible = True
            
          Call ReproducirSonido2(SonidExplosion, False)
          SonidoE = True
          Timer1.Enabled = False
       End If
       
    End If

    
End Sub

Lo que hace que la imagen del auto se desplace es la propiedad Left del control image:

ImgCarro1.Left = ImgCarro1.Left + 80

En cada interacción del control timer se le suma 80 a la propiedad left lo que hace que parezca que automóvil se mueve.

Luego valido que cuando el auto llegue al final del formulario se devuelva:

If ImgCarro1.Left > Me.Width Then
   ImgCarro1.Left = -50
   Contador = Contador + 1
End If

Yo Quiero que el auto de 3 vueltas osea que vaya y vuelva 3 veces antes de mostrar el arbol para eso uso un variable de tipo Static contador para llevar la cuenta y cuando llegue a 3 mostrar la imagen del arbol que tiene la propiedad visible = falta.

If Contador >= 3 Then
       ImgArbol.Visible = True

Cuando el auto esta por llegar al arbol quiero reproducir el sonido de frenado para eso tomo la propiedad left de alto cuando falte una distancia ya definica y valido que cuando sobre pase reproduzca el sonido de frenado.

If ImgCarro1.Left >= 3640 And ImgCarro1.Left <= 11160 And SonidoF = False Then
         Call ReproducirSonido(SonidFrenada, False)
         SonidoF = True
      End If

Para que no se siga reproduciendo el sonido uso la variable SonidoF = True así que cuando cuando se reproduzca el sonido solo lo ara una vez.

Para el choque del auto es igual cuando la propiedad Left del auto llegue a la propiedad del left del arbol reproduzca el sonido de choque y muestre la imagen de la explosión y detemos el Timer usando su propiedad Enabled = false, para que el auto se detenga y no siga.

If ImgCarro1.Left >= 11160 And SonidoE = False Then
       ImgExplosion.Visible = True
         
       Call ReproducirSonido2(SonidExplosion, False)
       SonidoE = True
       Timer1.Enabled = False
    End If

Para reproducir el sonido usamos un control llamado WindowsMediaPlayer y uso la siguientes funciones para reproducir.

Sub ReproducirSonido(nombre, Repertir As Boolean)
    WindowsMediaPlayer1.url = App.Path & "\sonidos\" & nombre
    If Repertir = True Then
       WindowsMediaPlayer1.settings.setMode "loop", True
    Else
       WindowsMediaPlayer1.settings.setMode "loop", False
    End If
   
End Sub
Sub ReproducirSonido2(nombre, Repertir As Boolean)
    WindowsMediaPlayer2.url = App.Path & "\sonidos\" & nombre
    If Repertir = True Then
       WindowsMediaPlayer2.settings.setMode "loop", True
    Else
       WindowsMediaPlayer2.settings.setMode "loop", False
    End If
    
End Sub

Uso 2 funciones porque debo reproducir 2 sonido casi al mismo tiempo por eso también uso 2 controles de WindowsMediaPlayer.

Para reproducir el sonido solo es pasarle la url de sonido MP3 y le paso si se repite o no se repite el sonido

WindowsMediaPlayer1.url = App.Path & "\sonidos\" & nombre

El código del Ejemplo lo puedes descargar de aquí Animación y Sonido en Visual Basic 6 (333 descargas )

 

 

 

 

Total Page Visits: 9909 - Today Page Visits: 22
Luis F. Martinez

Deja un comentario
Compartir
Publicado por
Luis F. Martinez

Publicaciones Recientes

Calculadora Básica en Visual Basic 6, Aprende a usar variables

En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…

2 meses hace

Lenguajes de Programación Más Demandados en 2024

6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…

3 meses hace

La Unión Europea Aprueba la Primera Ley de Inteligencia Artificial del Mundo

En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…

3 meses hace

Sincronización de Datos en Línea VB6: Lleva tu Proyecto al Siguiente Nivel

¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…

3 meses hace

OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes

OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes En un avance significativo para la…

7 meses hace

Curso de Programación Básica en Visual Basic 6.0

Bienvenido al Curso Básico de Visual Basic 6! Este curso está diseñado para llevarte a…

12 meses hace

Este sitio utiliza cookies desea activarlas