p; End If
End Sub
Sub initDDraw()
dev.SetCooperativeLevel(Me, CooperativeLevelFlags.FullscreenExclusiveAllowModex)
dev.SetDisplayMode(1024, 768, 16, 0, False)
''''Primarybuffer的设置
desc1 = New SurfaceDescription
desc1.SurfaceCaps.VideoMemory = True
desc1.SurfaceCaps.PrimarySurface = True
desc1.SurfaceCaps.Flip = True
desc1.SurfaceCaps.Complex = True
desc1.BackBufferCount = 1
PS = New Surface(desc1, dev)
desc2 = New SurfaceDescription
desc2.SurfaceCaps.BackBuffer = True
BS = PS.GetAttachedSurface(desc2.SurfaceCaps)
BS.ForeColor = System.Drawing.Color.Blue
BS.FontTransparency = True
''''''''OK只要把PrimaryBuffer跟BackBuffer设置好就算初始化完成,其他的图像都往上贴
End Sub
Sub LoadSurfaces()
''''''''''''读取其他图层
'''''''''''' 不要把Surface想得那么神秘,就是一个BMP附加上了更多的属性而已,这样理解简单很多
desc3 = New SurfaceDescription
desc3.SurfaceCaps.OffScreenPlain = True ''''幕后的
desc3.Height = BS.SurfaceDescription.Height ''''大小
desc3.Width = BS.SurfaceDescription.Width
S1 = New Surface(FN1, desc3, dev) ''''读取
desc4 = New SurfaceDescription
desc4.SurfaceCaps.OffScreenPlain = True ''''直接读
S2 = New Surface(FN2, desc4, dev)
Dim key As ColorKey ''''用来设置透明的
key.ColorSpaceHighValue = 0
key.ColorSpaceLowValue = 0
S2.SetColorKey(ColorKeyFlags.SourceDraw, key) ''''设置透明色
''''''''''''''''''''设置矩形位置信息
''''''''''''
RB.Width = BS.SurfaceDescription.Width
RB.Height = BS.SurfaceDescription.Height
R1.Width = S1.SurfaceDescription.Width
R1.Height = S1.SurfaceDescription.Height
R2.Width = S2.SurfaceDescription.Width
R2.Height = S2.SurfaceDescription.Height
上一页 [1] [2] [3] [4] [5] 下一页 [操作系统]Windows2000/XP/2003操作系统常见问题集锦下篇 [操作系统]Windows2000/XP/2003操作系统常见问题集锦上篇 [操作系统]WinXP/2000操作系统自动关机的实现 [操作系统]过河不拆桥—切勿忘记OS/2第二代操作系统之下篇 [操作系统]过河不拆桥—切勿忘记OS/2第二代操作系统之上篇 [系统软件]Visual Studio 2005 Express Editions Beta 2 下载… [常用软件]IE 7出炉,Firefox 2当道.谁才是“王者”? [常用软件]豪华的冲浪引擎MSN Explorer (2) [VB.NET程序]VB.NET实现DirectDraw9 (1) 托管的DDraw [VB.NET程序]学习笔记,VB.NET使用DirectSound9 (2)
|