LECCION 33

Visual Basic 2015 Lección 33: Creación de animaciones

Aunque Visual Basic 2015 es un lenguaje de programación diseñado para la creación de otras aplicaciones industriales de negocio y, que puede ser utilizado para crear la animación. 

En la lección anterior, en realidad hemos aprendido a crear la animación usando el temporizador. 

De hecho, los programas que hemos creado en la lección anterior, tales como el cronómetro y los dados digitales son programas animados. En esta lección, vamos a demostrar que los programas de animación más avanzados.

33.1 Creación de movimiento

Podemos crear un objeto con temporizador de movimiento continuo. El movimiento puede ser de izquierda a derecha o de arriba a abajo o de movimiento diagonal.First, insertar un cuadro de imagen en el formulario. 

En la ventana de propiedades del cuadro de imagen, seleccione la propiedad de la imagen y haga clic para importar un archivo de imagen de los dispositivos de almacenamiento tales como el disco duro, la unidad de la pluma o de DVD. Hemos insertado una imagen de un montón de grapes.Next, inserte un control Timer en el formulario y establezca su propiedad de intervalo a 100, lo que equivale a 0,1 segundos. Por último, agregue dos botones a la forma, el nombre de uno de ellos como AnimateBtn y el otro como StopBtn, y cambiar para que muestre texto para animar y detener respectivamente.

Hacemos uso de la propiedad izquierda del cuadro de imagen para crear el movimiento. PictureBox.Left significa la distancia del cuadro de imagen desde el borde izquierdo del formulario. Ahora haga clic en el control Timer y escriba el siguiente código:




Private Sub Timer1_Tick (remitente de ByVal como System.Object, ByVal e As System.EventArgs) Maneja Timer1.TickIf PictureBox1.Left <Me.Width ThenPictureBox1.Left = PictureBox1.Left + 10

Más

PictureBox1.Left = 0

Terminara si

End Sub

En el código anterior, Me.Width representa el ancho del formulario. Si la distancia del cuadro de imagen de la izquierda es menor que la anchura de la forma, se añade un valor de 10 para la distancia del cuadro de imagen del borde izquierdo cada vez que el paso del temporizador, o cada 0,1 segundos en este ejemplo.

 Cuando la distancia del cuadro de imagen desde el borde izquierdo es igual a la anchura de la forma, la distancia desde el borde izquierdo se establece en 0, el cual se mueve el objeto PictureBox al borde izquierdo y luego mover a la izquierda de nuevo, por lo tanto crea un movimiento oscilante de izquierda a derecha. Hay que insertar un botón para detener el movimiento. El código es:

Timer1.Enabled = False

Para animar el objeto PictureBox, insertamos un botón e introduzca el código siguiente:

Timer1.Enabled = True

La interfaz de tiempo de ejecución



Figura 33.1






33.2 Creación de una gráfica de los dados

En lecciones anteriores, hemos aprendido cómo crear gráficos y dibujar objetos en el formulario. Ahora vamos a utilizar los conocimientos previos para crear una animación dados gráficas utilizando temporizador.

En este programa, hay que insertar un temporizador y ponga su intervalo de 100, lo que significa que los dibujos se actualiza cada 0,1 segundos. A continuación, insertar un cuadro de imagen que se utiliza como la superficie de un dado. Por último, añadir un botón y cambiar su texto con Roll. En el marco del procedimiento de temporizador sub, creamos el objeto Graphics y el objeto de la pluma siguiendo los procedimientos que hemos aprendido en lecciones anteriores. 

A continuación, utilizamos un bucle Do y la estructura Select Case para desplazarse a través de las seis superficies de los dados. Para crear seis casos al azar, utilizamos la sintaxis n = Int (6 * Rnd ()) + 1. Podemos detener el bucle mediante la introducción de una variable t y el bucle hasta que la condición. La condición establecemos aquí es t> 1000, puede utilizar cualquier figura que desea.

El código

Private Sub BtnRoll_Click (remitente como objeto, e como EventArgs) Maneja BtnRoll.Click

Timer1.Enabled = True

End Sub

Private Sub Timer1_Tick (remitente como objeto, e como EventArgs) Maneja Timer1.Tick
Dim t As Integer
t = 0
Hacer

MyPicBox.Refresh ()

n As Integer Dim
Dim myPen Como Pen

myPen = nueva pluma (Drawing.Color.DarkTurquoise, 10)
myGraphics tenues como gráficos = MyPicBox.CreateGraphics
n = Int (6 * Rnd ()) + 1

Seleccionar Caso n

Caso 1
myGraphics.DrawEllipse (myPen, 80, 80, 10, 10)

caso 2
myGraphics.DrawEllipse (myPen, 40, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 120, 10, 10)

caso 3
myGraphics.DrawEllipse (myPen, 40, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 80, 80, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 120, 10, 10)

caso 4
myGraphics.DrawEllipse (myPen, 40, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 40, 120, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 120, 10, 10)
caso 5
myGraphics.DrawEllipse (myPen, 40, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 80, 80, 10, 10)
myGraphics.DrawEllipse (myPen, 40, 120, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 120, 10, 10)

caso 6
myGraphics.DrawEllipse (myPen, 40, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 40, 10, 10)
myGraphics.DrawEllipse (myPen, 40, 80, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 80, 10, 10)
myGraphics.DrawEllipse (myPen, 40, 120, 10, 10)
myGraphics.DrawEllipse (myPen, 120, 120, 10, 10)
End Select
t = t + 1
Loop Until t> 1000
Timer1.Enabled = False
End Sub

La interfaz de tiempo de ejecución es como se muestra en la Figura 33.2

vb2013_figure32.2



Figura 33.2

33.3 Creación de una máquina tragaperras

En este programa, añadimos tres cuadros de imagen, un temporizador, un botón y una etiqueta. Ajuste el intervalo del temporizador a 10, lo que significa que las imágenes se actualizarán cada 0,01 segundos. En el código, hemos de introducir cuatro variables m, a, b y c, donde se utiliza m para detener el temporizador y a, b, c se utilizan para generar imágenes al azar utilizando el Int sintaxis (1 + Rnd () * 3) . Para cargar las imágenes, se utiliza la siguiente sintaxis:

PictureBox.Image = Image.FromFile (Ruta del archivo de imagen)

Empleamos el Si ... Entonces estructura para controlar el temporizador y el Select Case ... ..End Seleccione la estructura para generar las imágenes al azar. La etiqueta se utiliza para mostrar el mensaje de los resultados.

El código

Public Class Form1
m tenue, a, b, c As Integer
Private Sub BtnSpin_Click (remitente como objeto, e como EventArgs) Maneja BtnSpin.Click
Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick (remitente como objeto, e como EventArgs) Maneja Timer1.Tick
m = m + 10
Si m <1000 A continuación,

a = Int (1 + Rnd () * 3)

b = Int (1 + Rnd () * 3)

c = Int (1 + Rnd () * 3)

Seleccionar un Caso
Caso 1
PictureBox1.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ apple.gif")
caso 2
PictureBox1.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ grape.gif")
caso 3
PictureBox1.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ strawberry.gif")

End Select

Seleccione Caso b
Caso 1
PictureBox2.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ apple.gif")
caso 2
PictureBox2.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ grape.gif")
caso 3
PictureBox2.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ strawberry.gif")

End Select
Seleccione el asunto C
Caso 1
PictureBox3.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ apple.gif")
caso 2
PictureBox3.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ grape.gif")
caso 3
PictureBox3.Image = Image.FromFile ( "C: \ Users \ Toshiba \ Documents \ Liew carpeta \ VB2010 \ vb2010_Image \ strawberry.gif")

End Select

Más
Timer1.Enabled = False
m = 0
Si a = b y B = C, entonces

LblMsg.Text = "Jackpot! Usted ganó $ 1.000.000 "
Más
LblMsg.Text = "No ha habido suerte, inténtelo de nuevo"

Terminara si
Terminara si
End Sub
End Class

La interfaz de tiempo de ejecución se muestra en la Figura 33.3

Comentarios

Entradas populares de este blog

VISUAL BASIC 6.0