Воспоминание программирование на VB 6.0 18.09.2024
Всем привет! Всем доброе утро! Сегодня мы будем вспомнинать как делалась анимация в Visual Basic 6.0. Но прежде, чем начнём заниматься программированием, начнём немножко с болтавни. Вчера я ездил к врачу, а когда я ехал обратно домой, то была большая пробка, из-за ремонта дорог. Вообще город в котором я живу т.е. г. Пассау постоянно расширяется, и постоянно идут где-нибудь стройки, и из-за этого опаздывает общественный транспорт. Домой я ехал сначало на миниавтобусе, можно сказать маршрутка, выглядет так (http://www.bus.oliver-wernicke.de/pa/img/tausch.jpg)
И так (http://www.bus.oliver-wernicke.de/pa/img/tausch_810.jpg):
Потом пересел на другой автобус.
Я езжу на общественном транспорте не потому-что я бедный, а потому-что у меня нет водительских прав, и в нашем городе проблема с парковками. Проблема с парковками, потому-что много людей приезжают из соседних деревней и городов. Люди, которые живут в нашем городе, т.е. в г. Пассау, и у которых есть машина, едут именно на автобусе, иначе будут 15-20 минут искать свободную парковку. Только что, а точнее 2 часа назад, я смотрел Deadpool 3 с Растамахой. Я его не весь посмотрел, а только половину.
Ну ладно, давайте кодить, вчера я ответил одному челу про прозрачность см. https://otvet.mail.ru/answer/2062128395. Короче нам понадобиться Win32 API функция BitBlt, эта функция как-бы копирует изображения из какого-то источника HDC (handle device context). Нужно две картинки, одна маска, другая сам спрайт см.:
Вот код:
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal Y As Long, _ ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, _ ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Const SRCAND = &H8800C6 Private Const SRCPAINT = &HEE0086 Dim x As Integer Private Sub Form_Load() x = 0 Timer1.Interval = 100 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() x = x + 3 Me.Cls BitBlt Me.hDC, x, 10, 32, 32, Picture2.hDC, 0, 0, SRCPAINT BitBlt Me.hDC, x, 10, 32, 32, Picture1.hDC, 0, 0, SRCAND Me.Refresh End Sub
Картиночки:
Спрайт:
Маска:
Скрин формы:
Вуаля! а вот результат см. https://my.mail.ru/mail/semyon_kulikov/video/_myvideo/35.h...