Red de conocimiento informático - Problemas con los teléfonos móviles - Comentarios de código VB ¿Quién puede ayudarme?

Comentarios de código VB ¿Quién puede ayudarme?

Opción?Explícita

'La declaración debe definirse antes de poder utilizar la variable

Privada?Const?MERGEPAINT?= amp;HBB0226

Private?Const?SRCAND?=?amp;H8800C6

'MERGEPAINT y SRCAND no se utilizan en este código

Private?Const?SRCCOPY?=?amp;HCC0020

p>

'Un operando en la función bitblt

¿Privado?Declarar?Función?BitBlt?Lib?"gdi32"?(ByVal?hDestDC?As?Long,ByVal?x?As ?Long, ByVal?y?As?Long, ByVal?nWidth?As?Long, ByVal?nHeight?As?Long, ByVal?hSrcDC?As?Long, ByVal?xSrc?As?Long, ByVal?ySrc?As?Long ,? ByVal?dwRop?As?Long)?As?Long

'Esta función se utiliza para realizar una conversión de bloques de bits en los píxeles del área especificada que se transferirán al área del objeto de destino.

'Variable de posicionamiento del balón.

'Las siguientes definiciones de variables y constantes se utilizan para controlar la posición, el movimiento y otros parámetros de la pelota

Private?Const?BallR?=?10'?Radius

¿Privado?Const?BallD?=?2?*?BallR? ?1?'?Diámetro

Privado?CurX?La coordenada x actual de la ubicación de la esfera

¿Privado?CurY ?La coordenada Y actual del círculo

Privado?¿OldX?As?Single?'?La coordenada X de la última vez que se dibujó el círculo

¿Privado? OldY?As?Single?'?Última vez Dibuja la coordenada Y del círculo

Privado?VelX?As?Single?'?Distancia de desplazamiento horizontal

Privado?VelY?As? ¿Único?'?Distancia de desplazamiento vertical

Privado? p>''DrawBall proceso de extracción de una bola

Privado?Sub?DrawBall()

''? Borrar el Blob original

BitBlt?picCanvas.hDC, ?_

OldX?-?BallR,?OldY?-?BallR,?BallD,?BallD,?_

picHidden.hDC,?OldX?-?BallR,?OldY ?-?BallR,?SRCCOPY

OldX?=?CurX

OldY?=?CurY

'¿Guardar la coordenada X y la coordenada Y del centro actual del círculo en OldX, OldY

'?¿Volver a dibujar el centro del círculo con ?curX, CurY? Dibujar una bola con radio ballR

picCanvas.Circle?(CurX,?CurY),?BallR

'?Actualizar el cuadro de imagen

picCanvas.Refresh

p>

End?Sub

'?Inicializa información, como la ubicación del Blob, y dibuja el Blob

Private?Sub?Form_Load()

' ? ¿El tamaño de la ventana coincide exactamente con el tamaño del cuadro de imagen

Width?=?(Width?-?ScaleWidth)?picCanvas.Width

'Calculate? el ancho del formulario? = Ancho del cuadro de imagen Ancho del borde

Altura?=?(Altura?-?ScaleHeight)?picCanvas.Height

'¿Calcular la altura del formulario? = Alto del cuadro de imagen Alto del borde

Xmax?=?picCanvas.ScaleWidth?-?BallR

'La coordenada X que puede alcanzar el nuevo límite del círculo

Ymax ?=?picCanvas.ScaleHeight?-?BallR

'¿La coordenada Y que puede alcanzar el nuevo límite del círculo

'? Inicializa la posición y dirección de movimiento del círculo

Randomize'randomization

CurX?=?Int((Xmax?-?BallR? ?1)?*?Rnd? ?Ba

llR)

CurY?=?Int((Ymax?-?BallR? ?1)?*?Rnd? ?BallR)

' Genera aleatoriamente la X de las coordenadas centrales de el círculo en el marco, Y

OldX?=?CurX

OldY?=?CurY

'Guarda las coordenadas X e Y del centro del círculo actual en OldX y OldY

p>

VelX?=?Int((10?-?5? ?BallR)

CurY?=?(10?-?5? ?1) ?*?Rnd? ?5)

VelY?=?Int((10?-?5? ?1)?*?Rnd? ?5)

'Genera VelX aleatoriamente y VelY, que es la distancia que se mueve el centro del círculo cada vez, y también la velocidad del movimiento

DrawBall

'Llama al procedimiento DrawBall para dibujar la bola

End?Sub

'?Mover la bola a través del cronómetro para animar el efecto de movimiento

Private?Sub?tmrBounce_Timer()

CurX ?=?CurX? ?VelX

'Calcular la coordenada X de la nueva bola

If?(CurX?gt;?Xmax)?Then

' Si la nueva coordenada X llega al marco de la imagen

CurX?=?Xmax

'Entonces establezca la coordenada X en el lado más derecho del marco de la imagen

VelX ?=?-VelX

'Cambiar la dirección del movimiento al sentido contrario, es decir hacia la izquierda

'Sonido de pitido

'Cancelar el comentario aquí , cuando la bola llegue al lado derecho del marco, ¿la dirección del movimiento cambiará al lado derecho del marco de la imagen?

'Beep

'Elimina el comentario aquí y la pelota llega al extremo derecho del cuadro de la imagen con un ruido sordo, igual que más adelante, ya no se describe

.

ElseIf(CurX?lt;?BallR)?Then

'Si la nueva coordenada x llega al lado izquierdo del marco

CurX?=?BallR

'Cambiar el sentido del movimiento al sentido contrario, es decir a la derecha

VelX?=??-VelX

'Sonido de pitido

End?If

'Calcular la coordenada Y de la nueva bola

CurY?= ?CurY?VelY

'Si la nueva coordenada Y llega al mismo lado inferior del cuadro de imagen

If?(CurY?gt;?Ymax)?Then

'Entonces la coordenada Y se establece en el lado inferior del marco

CurY?= ?Ymax

'La dirección del movimiento se cambia a la dirección opuesta, es decir, hacia arriba

VelY?=?-VelY<

/p>

'Beep

ElseIf(CurY?lt;?BallR)?Then

'Si la nueva coordenada Y llega a la parte superior del cuadro de imagen

CurY?=?BallR

'Entonces la coordenada Y se establece en el lado superior del marco de la imagen

VelY?=?-VelY

'se moverá La dirección se cambia a la dirección opuesta, es decir, hacia abajo

'Beep

final? Si

'Obtiene el nuevo centro y luego vuelve a conectar la bola

DrawBall

¿Fin? De hecho, este programa no necesita ser tan complicado. Puedes guardar una gran cantidad de código siguiendo esto y no necesitas tantos controles.htm

Porque el punto lejano es demasiado pequeño. De acuerdo con el código anterior, el radio del círculo cambia. El resultado después de ejecutar es como se muestra en la figura: