Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Andrey-Rs90
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
1

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

13.12.2012, 17:33. Просмотров 1760. Ответов 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 17:33
Ответы с готовыми решениями:

Как сделать анимацию на VB?
Народ помогите!!!Как сделать анимацию на VB если рисунок помещен в Image.

Как сделать полноценную анимацию?
Мне нужно чтобы по экрану перемещались рисованные объекты. Я сделал gif-файлы...

Как грамотно реализовать анимацию в игре
Как сделать анимацию (к примеру, бегущий человечек) в VB6. У меня есть варианты...

Как сделать анимацию, звездное небо, где сверкают звезды
Подскажите как сделать анимацию, звездное небо, где сверкают звезды.

Как воспроизводить в PictureBox GIF анимацию без сторонних компонентов
Добавлено через 3 минуты Кстати, а как воспроизводить в PictureBox GIF...

5
SoftIce
es geht mir gut
10554 / 4071 / 1033
Регистрация: 27.07.2011
Сообщений: 9,974
Завершенные тесты: 1
13.12.2012, 21:04 2
Лучший ответ Сообщение было отмечено 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
Andrey-Rs90
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
14.12.2012, 15:22  [ТС] 3
Спасибо, завтра попробую.

Добавлено через 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
Andrey-Rs90
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
16.12.2012, 15:12  [ТС] 4
Добрый День. У меня есть два вопроса.
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
serebryanny
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 1
07.12.2014, 20:44 5
Привет всем, решил воскресить мертвую тему. Собственно вопрос:
Помогите создать анимацию в 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
The trick
Модератор
7381 / 2625 / 759
Регистрация: 22.02.2013
Сообщений: 3,810
Записей в блоге: 76
07.12.2014, 20:59 6
http://www.cyberforum.ru/post5555870.html
http://www.cyberforum.ru/post6637460.html
0
07.12.2014, 20:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2014, 20:59

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru