С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11

Как зациклить анимацию движения фигуры

13.12.2012, 17:33. Показов 2969. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Я только недавно начал изучать этот язык.Помогите пожалуйста с циклом. У меня есть форма(круг) и два таймера. Я сделал анимацию. Нужно чтобы анимация эта повторялась неограниченное кол-во раз. Вот написал код( круг "проезжает" Вправо, отталкивается от границы и "едет" до левой границы формы и замирает).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Timer1_Timer()
Timer1.Enabled = True
Shape1.Left = Shape1.Left + 120
Shape1.Top = Shape1.Top
If Shape1.Left > 4500 Then Timer1.Enabled = False
If Timer1.Enabled = False Then Timer2.Enabled = True
End Sub
 
Private Sub Timer2_Timer()
Timer1.Enabled = False
Shape1.Left = Shape1.Left - 120
Shape1.Top = Shape1.Top
If Shape1.Left < 0 Then Timer2.Enabled = False
End Sub
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2012, 17:33
Ответы с готовыми решениями:

Как зациклить мою анимацию ?
Как зациклить мою анимацию ? &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; ...

Зациклить анимацию
Как сделать чтобы например объект двигался до координаты по Y:100, и дойдя до неё, начинал движение заново?

Зациклить анимацию до бесконечности
$(document).ready(function(){ for (var i=0; i&lt;200; i++) { ...

5
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
13.12.2012, 21:04
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Dim dX As Integer
 
Private Sub Form_Load()
    dX = 1
End Sub
 
Private Sub Timer1_Timer()
    If Shape1.Left < 0 Or Shape1.Left > Me.Width - Shape1.Width Then dX = -dX
    Shape1.Left = Shape1.Left - 120 * dX
    'Shape1.Top = Shape1.Top
End Sub
Добавлено через 15 минут
Можно без таймера.
На форме кнопка.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim dX As Integer
 
Private Sub Command1_Click()
    Draw
End Sub
 
Private Sub Form_Load()
    Me.AutoRedraw = True
    dX = 1
End Sub
 
Private Sub Draw()
    Do
    If Shape1.Left < 0 Or Shape1.Left > Me.Width - Shape1.Width Then dX = -dX
        Shape1.Left = Shape1.Left - dX
        DoEvents
    Loop
End Sub
0
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
14.12.2012, 15:22  [ТС]
Спасибо, завтра попробую.

Добавлено через 17 часов 5 минут
Разобрался сам. дописал одну строку кода. В итоге получилось то что надо. Форма двигается вправо-влево бесконечно.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Timer1_Timer()
Timer1.Enabled = True
Shape1.Left = Shape1.Left + 120
Shape1.Top = Shape1.Top
If Shape1.Left > 4500 Then Timer1.Enabled = False
If Timer1.Enabled = False Then Timer2.Enabled = True
End Sub
 
Private Sub Timer2_Timer()
Timer1.Enabled = False
Shape1.Left = Shape1.Left - 120
Shape1.Top = Shape1.Top
If Shape1.Left < 0 Then Timer2.Enabled = False
If Timer2.Enabled = False Then Timer1.Enabled = True
End Sub
Добавлено через 58 минут
Подскажите как сделать перемещения объекта с помощью клавиш клавиатуры.
0
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
16.12.2012, 15:12  [ТС]
Добрый День. У меня есть два вопроса.
1. Подскажите как ограничить кол-во кликов. Допустим есть объект. Если один раз была нажата клавиша на клавиатуре "Пробел" объект переместился Вверх и вернулся в исходное положение.
Visual Basic
1
2
3
4
5
6
7
8
Option Explicit
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
      Case 32
 Image1.Top = Image1.Top - 100 
       End Select
End Sub
2. Есть два объекта image1 и 2. Если image1 достигнет image2, то image2 пропадает. Как это сделать?

Добавлено через 1 час 48 минут
Еще вопрос. Как сделать чтобы программа запускалась в месте с виндой? Windows7
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 1
07.12.2014, 20:44
Привет всем, решил воскресить мертвую тему. Собственно вопрос:
Помогите создать анимацию в vb 6. Точнее в этой анимации будет окало 200 картинок.
Вот код от предыдущей моей анимации в ней всего 20 картинок (можно ка кто подкорректировать чтобы не набирать все эти 200 картинок,например задействовать циклы?)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Private Sub Form_Load()
Image1.Visible = True
X = 0
End Sub
 
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
 
Private Sub Timer1_Timer()
If Image22.Visible = True Then
Image22.Visible = False
Image1.Visible = True
 
ElseIf Image1.Visible = True Then
Image1.Visible = False
Image2.Visible = True
 
ElseIf Image2.Visible = True Then
Image2.Visible = False
Image3.Visible = True
 
ElseIf Image3.Visible = True Then
Image3.Visible = False
Image4.Visible = True
 
ElseIf Image4.Visible = True Then
Image4.Visible = False
Image5.Visible = True
 
ElseIf Image5.Visible = True Then
Image5.Visible = False
Image6.Visible = True
 
ElseIf Image6.Visible = True Then
Image6.Visible = False
Image7.Visible = True
 
ElseIf Image7.Visible = True Then
Image7.Visible = False
Image8.Visible = True
 
ElseIf Image8.Visible = True Then
Image8.Visible = False
Image9.Visible = True
 
ElseIf Image9.Visible = True Then
Image9.Visible = False
Image10.Visible = True
 
ElseIf Image10.Visible = True Then
Image10.Visible = False
Image11.Visible = True
 
ElseIf Image11.Visible = True Then
Image11.Visible = False
Image12.Visible = True
 
ElseIf Image12.Visible = True Then
Image12.Visible = False
Image13.Visible = True
 
ElseIf Image13.Visible = True Then
Image13.Visible = False
Image14.Visible = True
 
ElseIf Image14.Visible = True Then
Image14.Visible = False
Image15.Visible = True
 
ElseIf Image15.Visible = True Then
Image15.Visible = False
Image16.Visible = True
 
ElseIf Image16.Visible = True Then
Image16.Visible = False
Image17.Visible = True
 
ElseIf Image17.Visible = True Then
Image17.Visible = False
Image18.Visible = True
 
ElseIf Image18.Visible = True Then
Image18.Visible = False
Image19.Visible = True
 
ElseIf Image19.Visible = True Then
Image19.Visible = False
Image20.Visible = True
 
ElseIf Image20.Visible = True Then
Image20.Visible = False
Image21.Visible = True
 
ElseIf Image21.Visible = True Then
Image21.Visible = False
Image22.Visible = True
 
ElseIf Image22.Visible = True Then
Image22.Visible = False
Image1.Visible = True
 
 
End If
End Sub
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
07.12.2014, 20:59
https://www.cyberforum.ru/post5555870.html
https://www.cyberforum.ru/post6637460.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2014, 20:59
Помогаю со студенческими работами здесь

Как сделать анимацию движения велосипеда?
Не понимаю как сделать анимацию движения велосипеда. Вот мой проект(без анимации):

Как сделать анимацию движения по трассе
Всем привет! Очень нужна консультацию по такому вопросу: нужно сделать анимацию движения, скажем, точки, по гоночной трассе. Сейчас поясню...

Как создать анимацию движения button по кругу?
Здравствуйте. Как создать анимацию движение button по кругу. что то типа меню в котором разделы крутятся вокруг круга на пример? если...

CurrentFrame: программно зациклить анимацию с остановкой в 1м кадре.
Здравствуйте! Описание сцены: 1-е 25 кадров, анимация 1 + текст 1; 2-е 25 кадров, анимация 2 + текст 0; 3-е 25 кадров, анимация 3...

Как создать анимацию вращения объёмной фигуры?
ни как не могу сообразить как создать анимацию объёмной фигуры(например куба) вокруг оси x,y или z. Пробовал через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru