Регулировать скорость превращения окружности в квадрат - VB

Узнай цену своей работы

Формулировка задачи:

сделала анимацию - превращение окружности в квадрат. Не получается плавно синхронизировать линии и дуги. Дуги очень быстро мигают,либо получается так - что быстро мигает все. помогите пожалуйста

Решение задачи: «Регулировать скорость превращения окружности в квадрат»

textual
Листинг программы
Option Explicit
Const pi As Single = 3.14159265359
Dim r As Single, d As Single, z As Single
Dim P As PictureBox
 
Private Sub Draw()
    P.Cls
    P.Circle (z, -z), r - z, , 3 * pi / 2, 2 * pi 'правая нижняя дуга
    P.Circle (z, z), r - z, , 2 * pi, pi / 2      'правая верхняя дуга
    P.Circle (-z, z), r - z, , pi / 2, pi         'левая вехняя дуга
    P.Circle (-z, -z), r - z, , pi, 3 * pi / 2    'левая нижняя дуга
    
    P.Line (-z, r)-(z, r)   'верхняя сторона квадрата
    P.Line (-r, z)-(-r, -z) 'левая сторона квадрата
    P.Line (r, z)-(r, -z)   'правая сторона квадрата
    P.Line (-z, -r)-(z, -r) 'нижняя сторона квадрата
End Sub
 
Private Sub Form_Load()
    Set P = Picture1: P.Scale (-15, 15)-(15, -15)
    P.DrawWidth = 5: P.AutoRedraw = True: P.ForeColor = vbRed
    d = 0.01    'скорость "анимации"
    r = 12      'радиус окружности
    z = r - d   'начальный размер
    Me.Show: DoLoop
End Sub
 
Private Sub DoLoop()
    Do
       z = z + d: If z >= r Or z < 0 Then d = -d
       Draw
       DoEvents
    Loop
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    End
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы