| 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] 下一页 |