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 )
En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…
6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…
En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…
¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…
OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes En un avance significativo para la…
Bienvenido al Curso Básico de Visual Basic 6! Este curso está diseñado para llevarte a…
Este sitio utiliza cookies desea activarlas
Deja un comentario