powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / что надо прописать для Button что бы внутри Panel заставить picture box двигаться
6 сообщений из 6, страница 1 из 1
что надо прописать для Button что бы внутри Panel заставить picture box двигаться
    #37572078
Almat92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прописать желательно через timer т.е чтобы когда я нажал на кнопку picture box начала произвольные движения внутри panel
...
Рейтинг: 0 / 0
что надо прописать для Button что бы внутри Panel заставить picture box двигаться
    #37572144
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно неясно? Как выбрать случайное направление движения? Как менять координаты пикчера? Как положить на форму таймер? Или надо программу полностью написать?
...
Рейтинг: 0 / 0
что надо прописать для Button что бы внутри Panel заставить picture box двигаться
    #37573407
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Almat92,

насчёт основного функционала... нуно работать с параметрами Left и Top объекта
это
Код: vbnet
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.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
Option Explicit
Dim a As Boolean
Dim skor As Long
Dim pr As Long
Dim klava As String
Dim klava2 As String
Dim vbIsota As Boolean


Private Sub Form_Load()
Line3.X1 = q.Left + q.Width
Line3.X2 = q.Left + q.Width + 200
Line3.Y1 = q.Top + q.Height
Line3.Y2 = q.Top + q.Height + 200
Line4.X1 = q.Left
Line4.X2 = q.Left - 200
Line4.Y1 = q.Top + q.Height
Line4.Y2 = q.Top + q.Height + 200
qq.Left = q.Left + q.Width
qq.Top = q.Top - qq.Height
End Sub

Private Sub q_KeyDown(KeyCode As Integer, Shift As Integer)

If Chr(KeyCode) = "D" Then
            If a = True Then Exit Sub
klava = "D"
a = True
skor = 0
Timer1.Enabled = True
End If


If Chr(KeyCode) = "A" Then
            If a = True Then Exit Sub
klava = "A"
a = True
skor = 0
Timer1.Enabled = True
End If

'If a = True Then Exit Sub
If vbIsota = False Then
    If Chr(KeyCode) = "W" Then
    klava2 = "W"
    'a = True
    vbIsota = True
    pr = 0
    Timer1.Enabled = True
    End If
End If
End Sub
Private Sub q_KeyUp(KeyCode As Integer, Shift As Integer)
If Chr(KeyCode) = "D" Then
a = False
'Timer1.Enabled = False
klava = ""
End If


If Chr(KeyCode) = "A" Then
a = False
'Timer1.Enabled = False
klava = ""
End If
End Sub

Private Sub Timer1_Timer()
If klava = "A" Then
    If 5 + skor > 50 Then
    q.Left = q.Left - 50
    Else
    q.Left = q.Left - 5 - skor
    skor = skor + 0.7
    End If
    qq.Left = q.Left - qq.Width
End If
If klava = "D" Then
    If 5 + skor > 50 Then
    q.Left = q.Left + 50
    Else
    q.Left = q.Left + 5 + skor
    skor = skor + 0.7
    End If
    qq.Left = q.Left + q.Width
End If
If klava2 = "W" Then
    'If pr > 200 Then
    If q.Top + q.Height + 150 >= Line1.Y1 Then
    q.Top = Line1.Y1 - q.Height - 151
    'Timer1.Enabled = False
    klava2 = ""
    vbIsota = False
    Else
    q.Top = q.Top - 100 + pr
    pr = pr + 1.5
    End If
End If
Line3.X1 = q.Left + q.Width
Line3.X2 = q.Left + q.Width + 200
Line3.Y1 = q.Top + q.Height
Line3.Y2 = q.Top + q.Height + 200
Line4.X1 = q.Left
Line4.X2 = q.Left - 200
Line4.Y1 = q.Top + q.Height
Line4.Y2 = q.Top + q.Height + 200
qq.Top = q.Top - qq.Height
If q.Top > w.Top - 100 Then
    If q.Left > w.Left - 1000 And q.Left < w.Left + 1000 Then
    Label1.Caption = "&#237;&#243;&#225;)"
    Else
    Label1.Caption = "WASD"
    End If
End If
End Sub

код вот этой игры (кнопки "q" "w" и "qq") думаю, разберёшься.
насчёт произвольных движений...
Код: vbnet
1.
Text1.Text = Int(Rnd * 10)

создаёт случайное число от 0 до 9. придавая в таймере параметрам пикчебокса случайные числа (в твоём случае желательно и отрицательные), ты получишь хаотичное произвольное движение
...
Рейтинг: 0 / 0
что надо прописать для Button что бы внутри Panel заставить picture box двигаться
    #37582253
Almat92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как выбрать случайное направление движения?
...
Рейтинг: 0 / 0
что надо прописать для Button что бы внутри Panel заставить picture box двигаться
    #37583341
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Almat92,

для кого предыдущие ответы?
автор придавая в таймере параметрам Left и Top пикчебокса случайные числа (в твоём случае желательно и отрицательные), ты получишь хаотичное произвольное движение
в этом случае движение будет абсолютно хаотичным. т.е. с беспорядочно изменяющейся скоростью и угловатым изменением движения на поворотах. какое именно движение тебе нужно, ты не написАл
...
Рейтинг: 0 / 0
что надо прописать для Button что бы внутри Panel заставить picture box двигаться
    #37584055
Almat92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все спасибо, все получилось)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / что надо прописать для Button что бы внутри Panel заставить picture box двигаться
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]