Dim objDx As New DirectX7 Dim objDraw As DirectDraw7 Dim objEnumModes As DirectDrawEnumModes
Dim MainSurf As DirectDrawSurface7 Dim BackSurf As DirectDrawSurface7 Dim BmpSurf As DirectDrawSurface7 Dim SpriteSurf As DirectDrawSurface7
Dim ddsd As DDSURFACEDESC2 Dim ddsd1 As DDSURFACEDESC2 Dim ddsd2 As DDSURFACEDESC2 Dim ddsd3 As DDSURFACEDESC2 Dim ddsd4 As DDSURFACEDESC2 Dim ddsd5 As DDSURFACEDESC2
Dim bRun As Boolean Dim lastTime As Long Dim fps As Long Dim lfps As Long Dim FrameCount As Long Dim Clipper As DirectDrawClipper Dim x As DDPIXELFORMAT Dim sx, sy As Integer Dim Pict() As Byte
Sub InitSurf() On Error GoTo ErrHandler
'设置主绘图平面的属性 ddsd1.lFlags = DDSD_CAPS Or DDSD_BACKBUFFERCOUNT ddsd1.lBackBufferCount = 1 ddsd1.ddsCaps.lCaps = DDSCAPS_COMPLEX Or DDSCAPS_FLIP Or DDSCAPS_PRIMARYSURFACE '设置缓冲绘图平面的属性 ddsd2.ddsCaps.lCaps = DDSCAPS_BACKBUFFER
'根据ddsd1建立主绘图平面 Set MainSurf = objDraw.CreateSurface(ddsd1) '将BackSurf设置为MainSurf的附加平面 Set BackSurf = MainSurf.GetAttachedSurface(ddsd2.ddsCaps) '设置背景绘图平面的字体和颜色 BackSurf.SetForeColor RGB(255, 255, 255) Form1.Font.Name = "宋体" BackSurf.SetFont Form1.Font
'获得缓冲绘图平面的属性并设置到ddsd4中 BackSurf.GetSurfaceDesc ddsd4 '设置图形绘图平面的属性 ddsd3.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH ddsd3.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN ddsd3.lWidth = ddsd4.lWidth ddsd3.lHeight = ddsd4.lHeight '建立图形绘图平面 Set BmpSurf = objDraw.CreateSurfaceFromFile(App.Path + "\demo.bmp", ddsd3)