Страница: 1 |
Есть круг, есть линия (хочу сделать круглые часы) как сделать чтобы стрелка прошла по кругу ( как в часах) Помогите пожалуйста , а то я в 8 классе ещё Синус и Косинус не учил
Ну я знаю что Синус это длина стороны напротив угла, разделенного на длину гипотенузы. Теперь помочь можете? Да просто рисуй стрелку - новую нужным цветом, струю - цветом фона. Моя проблема найти х,у каждой точки на окружности! Ладно, уговорил... Значит так: Option Explicit Private Sub Form_Load() Private Sub Form_Resize() Private Sub tmrClock_Timer() 4) ДАВИШЬ F5 --> Страница: 1 |
Вопрос: Вопросик
Добавлено: 21.02.03 20:40
Автор вопроса: Synax | Web-сайт:
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
aka
Вопросов: 2
Ответов: 60
Web-сайт:
Профиль | | #1
Добавлено: 22.02.03 05:53
Выучишь хотя бы синус, приходи
Номер ответа: 2
Автор ответа:
Synax
Вопросов: 20
Ответов: 61
Web-сайт:
Профиль | | #2
Добавлено: 22.02.03 11:13
Номер ответа: 3
Автор ответа:
ГАТ
Вопросов: 2
Ответов: 117
Web-сайт:
Профиль | | #3
Добавлено: 22.02.03 11:16
Номер ответа: 4
Автор ответа:
Synax
Вопросов: 20
Ответов: 61
Web-сайт:
Профиль | | #4
Добавлено: 22.02.03 11:35
Номер ответа: 5
Автор ответа:
aka
Вопросов: 2
Ответов: 60
Web-сайт:
Профиль | | #5
Добавлено: 23.02.03 01:39
1) Размещаешь на форме таймер обозвав его tmrClock,
интервал ему ставишь 100
2) Размещаешь на форме Line обозвав ее linClock,
и ставишь ей Index=0 (ноль)
3) Вставляешь в форму следующий код:
DefDbl A-Z
Width = 4000
Height = 4000
Left = Screen.Width \ 2 - 4100
Top = (Screen.Height - Height) \ 2
End Sub
Dim i, Angle
Static Flag As Boolean
If Flag = False Then
Flag = True
For i = 0 To 14
If i > 0 Then Load linClock(i)
linClock(i).Visible = True
linClock(i).BorderWidth = 5
linClock(i).BorderColor = RGB(0, 128, 0)
Next i
End If
For i = 0 To 14
Scale (-1, 1)-(1, -1)
Angle = i * 2 * Atn(1) / 3
linClock(i).X1 = 0.9 * Cos(Angle)
linClock(i).Y1 = 0.9 * Sin(Angle)
linClock(i).X2 = Cos(Angle)
linClock(i).Y2 = Sin(Angle)
Next i
End Sub
Const HourHand = 0
Const MinuteHand = 13
Const SecondHand = 14
Dim Angle
Static LastSecond
'Position hands only on the second
If Second(Now) = LastSecond Then Exit Sub
LastSecond = Second(Now)
'Position hour hand
Angle = 0.5236 * (15 - (Hour(Now) + Minute(Now) / 60))
linClock(HourHand).X1 = 0
linClock(HourHand).Y1 = 0
linClock(HourHand).X2 = 0.3 * Cos(Angle)
linClock(HourHand).Y2 = 0.3 * Sin(Angle)
'Position minute hand
Angle = 0.1047 * (75 - (Minute(Now) + Second(Now) / 60))
linClock(MinuteHand).X1 = 0
linClock(MinuteHand).Y1 = 0
linClock(MinuteHand).X2 = 0.7 * Cos(Angle)
linClock(MinuteHand).Y2 = 0.7 * Sin(Angle)
'Position second hand
Angle = 0.1047 * (75 - Second(Now))
linClock(SecondHand).X1 = 0
linClock(SecondHand).Y1 = 0
linClock(SecondHand).X2 = 0.8 * Cos(Angle)
linClock(SecondHand).Y2 = 0.8 * Sin(Angle)
End Sub