|
|
|
Не могу сообразить
|
|||
|---|---|---|---|
|
#18+
Доброго Вам времени суток Уважаемые господа при наличии времени прошу Вас помочь указанный код позволяет мне передвигать объект по тем координатам которые считываются из файл Dim start As Integer Dim koordinates As String Dim korx As String Dim kory As String Dim myCol As New Collection Dim Buf As String Dim korxy As Integer Private Sub Command2_Click() On Error GoTo Error13: Open "c:\blockkoordinat.txt" For Input As #1 Do While Not EOF(1) Line Input #1, Buf myCol.Add Buf Loop Close #1 For i = 1 To myCol.Count korxy = myCol(i) block.Left = korxy korxy = 0 i = i + 1 korxy = myCol(i) block.Top = korxy korxy = 0 Next i Error13: If Err.Number = 13 Then For i = 1 To myCol.Count myCol.Remove (myCol.Count) Next i End If End Sub координаты в файл поподают при помощи следующего кода Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) koordinates = "" start = 1 End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) start = 0 End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If start = 1 Then korx = X kory = Y koordinates = koordinates + korx + vbCrLf + kory + vbCrLf Else korx = "" kory = "" End If End Sub Private Sub Command1_Click() Open "c:\blockkoordinat.txt" For Output As #1 Print #1, koordinates Close #1 End Sub все работает как надо дело лишь втом что если я быстро прведу мышкой то и объект к указанной точке пойдет быстро если медленно то медленно как можно урегулировать этот процесс т.е. независимо от движения мышки я сам мог контролировать скорость передвижения С Уважением и Благодарностью Намик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 21:06:50 |
|
||
|
Не могу сообразить
|
|||
|---|---|---|---|
|
#18+
Задай угол-направление (atan(y/x)), а модуль (скорость движения) определяй по-другому. и новое передвижение NX=MODUL* cos(a) NY=MODUL*sin(a) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 21:35:41 |
|
||
|
Не могу сообразить
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ но если можно, если будет время поясните понятным примером на основании моего примера но суть должна остаться т .е. движение обекта должно в точности повторять движение мыши которое было зафиксировано в файл С Уважением и Благодарностью Намик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 21:44:06 |
|
||
|
Не могу сообразить
|
|||
|---|---|---|---|
|
#18+
т.е. двигаем мышью и записываем траекторию в файл, а затем загружаем траекторию из файла и двигаем по ней объект? при том равномерно? Какова плавность хода? П.С. Достаточно korx=x kory=y заменить на цикл, в котором за один такт прибавляется только тот путь, который надо пройти (например L=100 клеток) и korx=korx+L*cos(fi) kory=kory+L*sin(fi) где fi=atan((y-kory)/(x-korx)); если же x-korx=0 то fi=pi/2*sgn(y-kory) (или вверх или вниз) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 18:14:05 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=289&tid=2166217]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 291ms |

| 0 / 0 |
