Поворот картинки за мышкой

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
And_Rey1
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.09.2007 (Пн) 14:19

Поворот картинки за мышкой

Сообщение And_Rey1 » 10.09.2007 (Пн) 14:28

Люди помогите. В школе плохо учился sin и cos плохо знаю :)
Я с этой проблемой встречаюсь уже не первый раз и не могу её решиь!

Надо решить задачу так что бы картинка рисовалась по середине
'формы и вращалась, полоской смотря всегда на мышь

Я заготовку кинул без кода. Кто чем может помогите PLS.
Вложения
Mouse_move.rar
(2.48 Кб) Скачиваний: 70
Happy EOF

pronto
Постоялец
Постоялец
 
Сообщения: 597
Зарегистрирован: 04.12.2005 (Вс) 6:20
Откуда: Владивосток

Сообщение pronto » 10.09.2007 (Пн) 15:18

Держи...

Код: Выделить всё
Private cx As Long, cy As Long
Private dx As Long, dy As Long
Private sw As Long, sh As Long

Private A As Double, alpha As Double
Private Const gPi As Double = 3.14159265358979   '÷èñëî     ïè = 180°
Option Explicit

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   
   A = X - cx
   If A = 0 Then A = 0.000001
   alpha = Atn((cy - Y) / A)
   If A < 0 Then alpha = alpha - gPi
   
   dx = sw * Cos(alpha) * 0.5
   dy = sw * Sin(alpha) * 0.5
   
   Line1.X2 = cx + dx
   Line1.Y2 = cy - dy
End Sub

Private Sub Form_Resize()
   cx = Form1.ScaleWidth * 0.5
   cy = Form1.ScaleHeight * 0.5
   
   sw = Form1.ScaleWidth * 0.4
   'sh = Form1.ScaleHeight * 0.4
   
   Shape1.Width = sw
   Shape1.Height = sw
   
   Shape1.Left = cx - sw * 0.5
   Shape1.Top = cy - sw * 0.5
   
   Line1.X1 = cx
   Line1.Y1 = cy

End Sub


З.Ы. Надо этот код в FAQ выкладывать...
O, sancta simplicitas!

And_Rey1
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.09.2007 (Пн) 14:19

Сообщение And_Rey1 » 10.09.2007 (Пн) 18:23

Спасибо!!!
Только надо доработать: нужно что бы картинка вращалась во круг своей оси за мышкой.
Happy EOF

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 10.09.2007 (Пн) 18:54

And_Rey1
Вокруг пишется слитно, если не имеется ввиду into the circle.

И не понятно, что значит "вращалась за мышкой".
Последний раз редактировалось Хакер 11.09.2007 (Вт) 12:37, всего редактировалось 1 раз.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

pronto
Постоялец
Постоялец
 
Сообщения: 597
Зарегистрирован: 04.12.2005 (Вс) 6:20
Откуда: Владивосток

Сообщение pronto » 11.09.2007 (Вт) 12:12

Только надо доработать

Ну, это ты уже сам как-нибудь!
O, sancta simplicitas!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 93

    TopList