Страница: 1 |
Страница: 1 |
Вопрос: DirectDraw
Добавлено: 20.04.05 19:21
Автор вопроса: Skywalker | Web-сайт:
С помощью функции BltFast я на экране рисую картинки травки на бэкбуфере затем в углу экрана рисую дерево. Проблема в том, что рисуется дерево с черным фоном (это наверное цвет бэкбуфера). Как сделать, чтобы дерево рисовалось поверх травки (чтоб фон был цвета травки)?
)))))
Ответы
Всего ответов: 1
Номер ответа: 1
Автор ответа:
Дмитрий Щапов
Вопросов: 71
Ответов: 321
Профиль | | #1
Добавлено: 20.04.05 20:25
Ты при загрузки картинки с деревом выбираешь прозрачный цвет и при блиттинге указывай...бла-бла-бла... Может функцию привидешь чтоль?
Private Const cMouse = 32
Set MouseSur = CreateDDS(cMouse, cMouse, App.Path + "\Графика\Up.bmp", vbWhite, vbWhite)
Surface2.BltFast MousePos.X, MousePos.Y, MouseSur, EmptyRect, DDBLTFAST_WAIT + DDBLTFAST_SRCCOLORKEY
Public Function CreateDDS(ByVal Height As Integer, ByVal Width As Integer, Optional ByVal FileName As String = "", Optional ByVal CKeyLow As Long = 0, Optional ByVal CKeyHigh As Long = 0) As DirectDrawSurface7
Dim ddsd As DDSURFACEDESC2
ddsd.lFlags = DDSD_CKSRCBLT + DDSD_HEIGHT + DDSD_WIDTH
ddsd.ddckCKSrcBlt.low = CKeyLow
ddsd.ddckCKSrcBlt.high = CKeyHigh
ddsd.lHeight = Height
ddsd.lWidth = Width
If FileName = "" Then
Set CreateDDS = DDRAW.CreateSurface(ddsd)
Else
Set CreateDDS = DDRAW.CreateSurfaceFromFile(FileName, ddsd)
End If
End Function
© Я