Вращение и увеличение смайла на форме - VB

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

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

Здравствуйте пожалуйста помогите,надо чтобы на форме смайлик крутился и по теьоньку радиус его увеличевался и через 15 сек исчез

Решение задачи: «Вращение и увеличение смайла на форме»

textual
Листинг программы
 Dim Grad As Integer, Radius As Double
 Const PI = 3.14159265358979
 Const DEG = PI / 180
 Const SHIFT = 160
 Dim Rotate As Boolean
 
 Sub Draw()
     Do
     Cls
     Me.FillColor = vbYellow
     Circle (0, 0), Radius + 1.5, vbYellow
     Radius = Radius + 0.005
     If Grad < 360 Then Grad = Grad + 1 Else Grad = 0
     Me.FillColor = vbBlue
     Circle (Cos(DEG * Grad) * (Radius - 1), Sin(DEG * Grad) * (Radius - 1)), (Radius / 10), vbBlue
     Circle (Cos(DEG * Grad + 1.4) * (Radius - 1), Sin(DEG * Grad + 1.4) * (Radius - 1)), Radius / 10, vbBlue
     Line (Cos((Grad - SHIFT) * DEG) * Radius, Sin((Grad - SHIFT) * DEG) * Radius)- _
          (Cos((Grad - SHIFT + 50) * DEG) * Radius, Sin((Grad - SHIFT + 50) * DEG) * Radius)
     'Circle (0, 0), Radius, vbRed, (Grad - SHIFT) * DEG, (Grad - SHIFT + 50) * DEG
     Me.Caption = (Grad - SHIFT + 50) * DEG
     DoEvents
     If Rotate = False Then Exit Do
     
     Loop
End Sub
 
Private Sub Command1_Click()
    Rotate = True
    Timer1.Enabled = True
    Draw
End Sub
 
Private Sub Timer1_Timer()
    Timer1.Enabled = False
    Rotate = False
    Cls
    Radius = 2
End Sub
 
Private Sub Form_Load()
    Me.Width = Me.Height
    'Me.ScaleHeight = Me.ScaleWidth
    Me.Scale (-10, 10)-(10, -10)
    Me.DrawWidth = 10: Me.AutoRedraw = True
    Me.FillStyle = 0
    Radius = 2
    Timer1.Interval = 15000
End sub

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


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

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

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