Red de conocimiento informático - Espacio del host - Quiero usar la programación VB para crear una animación en tiempo real. ¿Cómo lograrlo?

Quiero usar la programación VB para crear una animación en tiempo real. ¿Cómo lograrlo?

Solo usa una imagen o incluso nada, solo dibuja en el formulario.

Respuesta adicional:

La interfaz del siguiente código es colocar dos formas en el formulario, y los nombres son todos nombres predeterminados.

Opción explícita

Cantidad constante = 69, espacio entre líneas = 150, espacio entre columnas = 60, izquierda = 1300

Estado atenuado como entero, ancho del texto como único , La abscisa como única, la ordenada como única, la superior como única

Dim selecciona 1 como entero, selecciona 2 como única, el centro de la imagen izquierda como única, el centro de la imagen derecha como única , y el centro Como único

Atenuar usado a la izquierda (1 a cantidad) como booleano, usado a la derecha (1 a cantidad) como booleano, a la derecha como único

Sub privado Form_Click()

Si Timer1 .Enabled Entonces Salga Sub

Si Abs (abscisa - centro izquierda) < interlineado / 2 Entonces

Seleccione 1 = ordenada\interlineado + 1

Si está a la izquierda (seleccionado 1), entonces salga de Sub

Forma 1. Mover hacia el centro a la izquierda - interlineado / 4 + 15, (seleccionado 1 - 0,5) * interlineado - 15

Forma1. Visible = Verdadero

Si Estado = 2 Entonces

Medio = Centro de imagen izquierdo + Interlineado / 4 + 525 + Espaciado entre columnas * Seleccione 1

Timer1.Enabled = True

Else

Estado = 1

Fin si

ElseIf Abs (abscisa - centro derecha) < interlineado / 2 Luego

Seleccione 2 = coordenada vertical\ interlineado + 1

Si es correcto (seleccionado 2) Luego salga de Sub

Shape2.Mover a la derecha centro - interlineado/ 4 + 15, (Seleccione 2 - 0,5) * Interlineado - 15

Shape2.Visible = True

Si Estado = 1 Entonces

Medio = Centro de imagen izquierdo + Interlineado/4 + 525 + Espaciado entre columnas* Seleccionar 1

Temporizador1.Enabled = Verdadero

De lo contrario

Estado = 2

Finalizar si

Finalizar si

End Sub

Sub privado Form_DblClick()

Interfaz inicial

End Sub

Sub privado Form_Load()

Atenuar i como entero

Me.AutoRedraw = True

Me. Tamaño de fuente = 7

Ancho del texto = Ancho del texto("A12")

Alto = Cantidad * Interlineado + 800

Ancho = Cantidad

* Espaciado entre columnas + 2 * (Izquierda + interlineado + ancho del texto) + 1050

Arriba = 0

Izquierda = (Ancho.Pantalla - Ancho) / 2

Derecha = Ancho - Izquierda - ancho del texto

Centro de imagen izquierda = Izquierda + ancho de texto + interlineado

Centro de imagen derecha = Ancho - Centro de imagen izquierda

Con Forma1

.Forma = 3

.FillStyle = 0

.FillColor = RGB(128, 128, 128)

.Visible = False

.Height = Interlineado/2 - 15

.Width = Interlineado/2 - 15

Terminar con

Con Shape2

.Shape = 3

.FillStyle = 0

.FillColor = RGB(128, 128, 128)

.Visible = False

.Height = interlineado/2 - 15

.Width = interlineado/2 - 15

Terminar con

Me.Cls

Interfaz inicial

Timer1.Interval = 20

End Sub

Interfaz inicial Sub privada ()

Atenuar i como entero

Imprimir "Haga clic para seleccionar el nodo";

Imprimir "Haga doble clic para reiniciar".

"

Para i = 1 A cantidad

Top = (i - 1) * Interlineado

ActualY = Top

ActualX = Izquierda

Imprimir "A"; Formato(i, "00");

ActualX = Derecha

Imprimir "B"; " )

Me.Circle (centro izquierda, (i - 0,5) * interlineado), interlineado/4, vbRed

Me.Circle (centro derecha, (i - 0,5) ) * Interlineado), interlineado/4, vbBlue

Usado izquierda (i) = False

Usado derecha (i) = False

Siguiente i< / p>

Timer1.Enabled = False

End Sub

Sub privado Form_MouseMove(Botón como entero, Mayús como entero, X como único, Y como único)

Abscisa = , Paso Como Entero, i Como Entero

Seleccionar Caso Segmento De Línea

Caso 0

Paso = Paso + 1

Línea (imagen izquierda Corazón + interlineado / 4, (seleccione 1 - 0,5) * interlineado) - (imagen izquierda corazón + interlineado / 4 + paso * 30, (seleccione 1 - 0,5) * interlineado), RGB (20, 150, 20)

Si CurrentX >= Medio Entonces

Segmento de línea = 1

Paso = 0

Fin Si

Caso 1

Paso = paso + 1

Si Seleccione 1 < Seleccione 2 Entonces

Línea (medio, (seleccione 1 - 0,5) * interlineado)-(medio, (seleccione 1 - 0,5) * Interlineado + paso * 30), RGB(20, 150, 20)

Si CurrentY >= (Seleccione 2 - 0,5 ) * Interlineado Entonces

Segmento de línea = 2

Paso = 0

Finalizar si

De lo contrario, seleccione 1 > Seleccione 2 entonces

Línea (Medio, (Seleccione 1 - 0,5) * interlineado)-(medio, (seleccionado 1 - 0,5) * interlineado - paso * 30)

, RGB(20, 150, 20)

Si ActualY <= (Seleccione 2 - 0,5) * Interlineado Entonces

Segmento de línea = 2

Paso = 0

Finalizar si

Si no

Segmento de línea = 2

Paso = 0

Finalizar si

Caso 2

Paso = paso + 1

Línea (media, (seleccionada 2 - 0,5) * interlineado)-(media + paso * 30, (seleccionada 2 - 0,5) * Interlineado), RGB(20, 150, 20)

Si CurrentX >= Centro de la imagen derecha - interlineado/4 Entonces

Segmento de línea= 3

Paso= 0

Finalizar si

Caso 3

Usado izquierdo (seleccionado 1) = Verdadero

Usado derecho (seleccionado 2) = Verdadero

Segmento de línea = 0

Temporizador1.Enabled = Falso

Estado = 0

Forma1.Visible = Falso

Shape2.Visible = False

Selección final

Fin Sub