Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo controlar la pelota para que rebote después de golpear la pared programación vb

Cómo controlar la pelota para que rebote después de golpear la pared programación vb

Agregar una imagen1, temporizador1

Opción explícita

Const BallR privado = 200

Const BallD privado = 2 * BallR + 1

Privado CurX Como Soltero

Privado CurY Como Soltero

Privado OldX Como Soltero

Privado OldY Como Soltero

VelX privado como soltero

VelY privado como soltero

Xmax privado como soltero

Ymax privado como soltero

Sub DrawBall privado()

OldX = CurX

OldY = CurY

Me.picture1.FillColor = &HEE00CC

Me.picture1.FillStyle = 6

Me.picture1.Cls

picture1.Circle (CurX, CurY), BallR, vbRed

End Sub

Sub privado Form_Load()

Ancho = (Ancho - ScaleWidth) + imagen1.Width

Alto = (Alto - ScaleHeight) + imagen1.Height

Xmax = imagen1.ScaleWidth - BallR

Ymax = imagen1.ScaleHeight - BallR

Aleatorizar

CurX = Int((Xmax - BallR + 1) * Rnd + BallR)

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

ViejoX = CurX

ViejoY = CurY

VelX = Int((40 - 20 + 1) * Rnd + 20)

VelY = Int((40 - 20 + 1) * Rnd + 20)

DrawBall

Temporizador1. Intervalo = 10

Timer1.Enabled = True

End Sub

Private Sub timer1_Timer()

CurX = CurX + VelX

Si (CurX > Xmax) Entonces

CurX = Xmax

VelX = -VelX

' Bip

ElseIf (CurX < BallR) Entonces

CurX = BallR

VelX = -VelX

'

Pitido

Finalizar si

CurY = CurY + VelY

Si (CurY > Ymax) Entonces

CurY = Ymax

VelY = -VelY

' Bip

ElseIf (CurY < BallR) Entonces

CurY = BallR

VelY = - VelY

' Beep

Finalizar si

DrawBall

Fin Sub