Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
AniFox
10 / 10 / 2
Регистрация: 11.08.2012
Сообщений: 52
1

След от передвижение picturebox

18.10.2012, 15:35. Просмотров 309. Ответов 0
Метки нет (Все метки)

vb.net
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
Public Class Form1
    Dim playerBTM As Bitmap = New Bitmap(Application.StartupPath & "\images\player.gif")
    Dim tailBTM As Bitmap = New Bitmap(Application.StartupPath & "\images\tail.png")
    Dim Tails(12) As PictureBox
    Dim jumpStatus As Integer = 0
 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        With player
            .Image = playerBTM
            .Width = playerBTM.Width
            .Height = playerBTM.Height
        End With
 
        For i = 1 To 12
            Tails(i) = New PictureBox()
            Tails(i).Name = "pictureTail" & (i)
            Tails(i).Image = tailBTM
            Tails(i).Left = (player.Left - 17) - (20 * i)
            Tails(i).Top = player.Top
            Tails(i).Width = tailBTM.Width
            Tails(i).Height = tailBTM.Height
            Me.Controls.Add(Tails(i))
        Next i
    End Sub
 
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Select Case e.KeyCode
            Case Keys.W
                If jumpStatus = 0 Then
                    jumpStatus = 1
                End If
        End Select
    End Sub
 
    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
        jumpStatus = 0
    End Sub
 
    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        If jumpStatus = 0 Then
            player.Top += 1
        ElseIf jumpStatus = 1 Then
            player.Top -= 1
        End If
        For i = 1 To 12
            Tails(i).Top = player.Top
        Next
    End Sub
 
End Class
Сделал небольшой хвостик из Tails. Player может двигатся только верх и вниз. Я думал так сделать:

Каждый раз когда срабатывает Timer сделать Tails(12).Top=Tails(11).Top, Tails(11).Top=Tails(10).Top.....Tails(2).Top=Tails(1).Top, Tails(1).Top=player.Top

Не уверен что это сработает, но есть какой нибудь способ сделать это по компактнее? Пока что я сделал

vb.net
1
2
3
        For i = 1 To 12
            Tails(i).Top = player.Top
        Next
с помощью чего все Tails следуют за player'ом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 15:35
Ответы с готовыми решениями:

Передвижение картинки внутри PictureBox
Здравствуйте! Пытаюсь реализовать алгоритм работы с картой, так что бы при...

Передвижение PictureBox-a соответственно курсору
У меня тут возник вопрос - как сделать так что-бы какой-либо элемент на форме,...

Движение PictureBox оставляет за собой след
Здравствуйте. Я на форме перемещаю PictureBox, с картинкой. В результате...

Программное создание PictureBox с проверкой, нет ли на его месте другого PictureBox
Здравствуйте! Нужно чтобы при нажатии кнопки создавался PictureBox с...

PictureBox имеет прозрачность относительно формы, но не PictureBox, на котором расположен
Подскажите, пожалуйста. У меня такая ситуация: Один PictureBox наложен на...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2012, 15:35

Как остановить GIf анимацию в PictureBox по клику на сам PictureBox?
Добрый день! Прошу помочь решить вопрос с GIF анимацией в PictureBox. Задумка...

Конфликт между PictureBox.Load и PictureBox.Image.Save
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As...

Picturebox с прозрачным изображением над другим Picturebox
Всем привет! Расположил Picrurebox_MenuButton на Picturebox_MenuBackground. Но...


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

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

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