Анимация персонажа (пример: Liu Kang) идет с проблемами.
Смотрел в других проектах, где используется анимация, но не получается скопировать, чтоб сработало.
Декларируем:
- Код: Выделить всё
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
Const SRCAND = &H8800C6
Const SRCPAINT = &HEE0086
Принцип:
Picture1 - где идет анимация
Picture2 - картинка 1 (12 кадров) на белом фоне
Picture3 - картинка 2 (12 кадров) на черном фоне
Таймер с кодом:
Private
- Код: Выделить всё
Sub Timer1_Timer()
BitBlt Picture1.hDC, 0, 0, 114, 222, Picture2.hDC, Counterx, Countery, SRCPAINT
BitBlt Picture1.hDC, 0, 0, 114, 222, Picture3.hDC, Counterx, Countery, SRCAND
'Picture1.Refresh ' не понял для чего
Counterx = Counterx + 114 '
If Counterx >= 1368 Then Counterx = 0
End Sub
Подскажите, что не так (может картинки слишком большие для нормальной анимации)?..
P.S. зачем делается 2 картинки 2-мя цветами фона (черный и белый), почему не достаточно 1-го?