Hola a todos.
Vengo a traerles este efecto que se me ocurrió hoy y que quedo bastante bueno.
Empecemos:
Para este tuto hice uso del programa VB Shaped Form Creator, así que si no lo tienes consíganselo.
Lo que hice fue crear una imagen de cada letra de "By Expermicid". Así:




Para la 'i' cree una sola imagen, no es necesario hacer dos.
Ahora utilizando el VB Shaped creamos un form por cada letra y para esto son las imágenes,
ayudándonos con ellas podemos obtener mucho más fácil las formas.
Una vez hecho eso, abrimos VB6 y generamos un nuevo proyecto.
Agregamos los form antes creados y uno más que llame Principal.
Quedándonos en total 13 forms.
Al código que te crea el VB Shaped le borre el del evento MouseDown de cada Form para que no
se puedan mover con el mouse.
Y les cambie el atributo BackColor por &H00FF0000&, que es un color azul.
Bien ahora empecemos con el código.
Al form Principal simplemente usando el evento Load lo posicionamos en el medio de la pantalla.
------------------------------------
Private Sub Form_Load()
Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
End Sub
------------------------------------
Voy a tomar al form Emay como el de la cabecera (el que se ejecuta primero).
Así que a los demás también solo lo que voy a utilizar por ahora va a ser el evento Load para
posicionarlos.
Form B:
-------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move r.Left + 500, -2500
End Sub
--------------------------
Form c:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
--------------------------
Move i.Left + i.Width - 60, -2500
End Sub
--------------------------
Form d:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move i2.Left + i2.Width - 120, -2500
End Sub
--------------------------
Form emin:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move p.Left + p.Width - 170, -2500
End Sub
--------------------------
Form i:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move m.Left + m.Width - 200, -2500
End Sub
--------------------------
Form i2:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move c.Left + c.Width - 200, -2500
End Sub
--------------------------
Form m:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move r.Left + r.Width - 120, -2500
End Sub
--------------------------
Form p:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move X.Left + X.Width - 200, -2500
End Sub
--------------------------
Form r:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move emin.Left + emin.Width - 120, -2500
End Sub
--------------------------
Form x:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move Emay.Left + Emay.Width - 70, -2500
End Sub
--------------------------
Form y:
--------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move B.Left + B.Width, -2500
End Sub
--------------------------
Las primeras 2 líneas en todos los casos las crea en VB Shaped, lo único que agregue yo fue la línea
de Move para posicionarlas en su lugar correcto horizontalmente y en todas le puse un -2500 en
altura para que no se vean en la pantalla.

Ahora vemos con el form Emay.
Primero que nada le agrego un Timer.
Con un valor de Interval de 500.
Bien, ahora declaramos la Api para la función Sleep:
---------------------
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
---------------------
Ponemos esto en el evento Load:
----------------------------------
Private Sub Form_Load()
Dim nRet As Long
nRet = SetWindowRgn(Me.hWnd, CreateFormRegion(1, 1, 0, 0), True)
Move (Screen.Width - Width) \ 2 - 5000, -2500
X.Show
p.Show
emin.Show
r.Show
m.Show
i.Show
c.Show
i2.Show
d.Show
B.Show
y.Show
End Sub
-------------------------------------
Nuevamente las 2 primeras líneas las crea el VB Shaped, luego posicionamos el form y mostramos
todos los demás.

Ahora ponemos este Sub:
-----------------------------
Private Sub CaidaLibre(formulario As Form, altura As Long)
Dim i As Integer
Do While formulario.Top < altura
formulario.Top = formulario.Top + 1
DoEvents
Sleep 0.5
Loop
i = 0
Do While i < 2500
formulario.Top = formulario.Top - 1
i = i + 1
DoEvents
Sleep 0.5
Loop
i = 0
Do While i < 2500
formulario.Top = formulario.Top + 1
i = i + 1
DoEvents
Sleep 0.5
Loop
---------------------------
End Sub
--------------
Que es el que se va a encargar de hacer el efecto de Caída Libre.
Se le pasan como parámetro un form y una altura limite.
Y lo que hace es hacer 'caer' al form hasta la altura requerida y luego en los otros dos While hace
un efecto de rebote.
Y para finalizar usando el evento Timer del Timer:
----------------------

Private Sub Timer1_Timer()
CaidaLibre Emay, (Screen.Height - Height) \ 2
CaidaLibre X, (Screen.Height - Height) \ 2
CaidaLibre p, (Screen.Height - Height) \ 2
CaidaLibre emin, (Screen.Height - Height) \ 2
CaidaLibre r, (Screen.Height - Height) \ 2
CaidaLibre m, (Screen.Height - Height) \ 2
CaidaLibre i, (Screen.Height - Height) \ 2
CaidaLibre c, (Screen.Height - Height) \ 2
CaidaLibre i2, (Screen.Height - Height) \ 2
CaidaLibre d, (Screen.Height - Height) \ 2
CaidaLibre B, r.Top - B.Width - 300
CaidaLibre y, B.Top
Sleep 1000
Unload B
Unload c
Unload d
Unload Emay
Unload emin
Unload i
Unload i2
Unload m
Unload p
Unload r
Unload X
Unload y
Principal.Show
End Sub
------------------
Vamos a ir llamando al Sub anteriormente creado con todos los forms.
Y luego cerrarlos y mostramos el Form Principal, que sería nuestro programa.
Y terminamos.
Verificamos que nuestro proyecto se ejecute con el form Emay.
Para esto vamos a Proyecto > Propiedad de Proyecto, y en Objeto inicial elegimos el form Emay.
Espero que les guste.
Saludos. cualquier duda que tengan comenten o deja un buen comentario en apoyo a mi trabajo
No olviden visitar mi Web Oficial |no-mames.com| solo por apoyo ya que hay no hablo nada sobre programación hay es algo mas ligero y solo de pasatiempo así que espero tener su apoyo en mi humilde web y pues a un que sea me den un me gusta o algo a si bueno ya mucho bla bla bla 
Empezando con tutoriales super básicos apoyame con un me gusta si el post su de tu agrado 

0 comentarios:

Publicar un comentario

 
Arriba