Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.09.2011, 21:49   #1
percev20
 
Регистрация: 29.09.2011
Сообщений: 3
Вопрос Допоможіть з анімацією по Visual Basic!

Завдання:Потрібно створити анімацію руху картінки, яка відбивається від стін форми, та від обєкта розміщеного в будь-якому місці на формі.
Написаний лістінг для відбитя картінки від стін форми:
Dim x As Integer
Dim y As Integer

Private Sub Form_Load()
x = 100
y = 100

End Sub

Private Sub Timer1_Timer()
Image1.Left = Image1.Left + x
Image1.Top = Image1.Top + y
If Image1.Left > Me.Width Then
x = x * -1
End If
If Image1.Left < 0 Then
x = x * -1
End If
If Image1.Top > Me.Height Then
y = y * -1
End If
If Image1.Top < 0 Then
y = y * -1
End If

End Sub

Допоможіть, щоб Image відбивався від обєкта. Наприклад: Кнопки, лінії....
percev20 вне форума
Старый 29.09.2011, 23:22   #2
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

Извините, но не совсем понял в чём вопрос. Изхожу из того, что код не работает. Поэтому добавьте следующие строки. Если дело ни в этом переведите, пожалуйста свой вопрос.
Код:
 
Dim x As Integer
Dim y As Integer

Private Sub Form_Load()
x = 100
y = 100

Timer1.Interval = 100
Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()
Image1.Left = Image1.Left + x
Image1.Top = Image1.Top + y
If Image1.Left > Me.Width Then
x = x * -1
End If
If Image1.Left < 0 Then
x = x * -1
End If
If Image1.Top > Me.Height Then
y = y * -1
End If
If Image1.Top < 0 Then
y = y * -1
End If

End Sub
С.М.С вне форума
Старый 29.09.2011, 23:35   #3
percev20
 
Регистрация: 29.09.2011
Сообщений: 3
По умолчанию

Суть, создати програму в якій переміщається Image довільно по формі відбиваючись від країв форми, потрібно добавити обєкт на форму який би відбивав Image, служив би як перешкода.
percev20 вне форума
Старый 29.09.2011, 23:46   #4
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

Так в чём проблема? добавьте два следующих оператора:
Timer1.Interval = 100
Timer1.Enabled = True
Первый устанавливает интервал срабатывания таймера
Второй запускает таймер

В свойствах Image > Picture укажите, картинку, которая будет двигаться.
С.М.С вне форума
Старый 29.09.2011, 23:53   #5
percev20
 
Регистрация: 29.09.2011
Сообщений: 3
По умолчанию

Image рухається тільки треба описати обмеження щоб Image відбивався не тільки від сторін форми, а й від обєкта наприклад бутона або лінії.
percev20 вне форума
Старый 30.09.2011, 01:28   #6
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

К примеру так для двух линий, Line1 расположена вертикально, Line2 горизонтально.

Код:
If Image1.Left + Image1.Width > Line1.X1 Then
If Image1.Left + Image1.Width > Line1.X1 And Image1.Left + Image1.Width > Line1.X2 And Image1.Top + Image1.Height > Line1.Y1 And Image1.Top < Line1.Y2 Then
x = x * -1
End If
End If

If Image1.Left > Line1.X1 Then
If Image1.Left > Line1.X1 And Image1.Left > Line1.X2 And Image1.Top + Image1.Height > Line1.Y1 And Image1.Top < Line1.Y2 Then
x = x * -1
End If
End If

If Image1.Top + Image1.Height > Line2.Y1 Then
If Image1.Left + Image1.Width > Line2.X1 And Image1.Left < Line2.X2 Then
y = y * -1
End If
End If

If Image1.Top > Line2.Y1 Then
If Image1.Left + Image1.Width > Line2.X1 And Image1.Left < Line2.X2 Then
y = y * -1
End If
End If
С.М.С вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? _PROGRAMM_ Общие вопросы .NET 14 10.10.2012 19:24
Visual Basic (Visual Studio 2005) JUDAS О форуме и сайтах клуба 1 04.07.2009 23:09