首页 >> 读书频道 >> 电脑 >> 用VB编写DirectX7.0游戏三
 
· 动态改变及恢复屏幕设置
· 用VB编写DirectX
· 用VB5.0创建Wind
· 用VB编写DirectX
· 用VB实现"I
· 在VB中利用API实现窗
· 用VB实现应用程序在局域
· 用VB制作常居上层的浮动
· 动态拖曳ListBox
· 在VB中使用Delphi
· 更改文件日期时间
· 将MdiForm内的Fo
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

用VB编写DirectX7.0游戏三


查看有无更新版本

关键字:VB 2006-9-18

 

 Private Sub Form_KeyPress(KeyAscii As Integer) 
 Dim sRect As RECT 
 Dim hdcSrc As Long 
 If KeyAscii = 27 Then 
 ExitLoop = True 
 'End 
 ElseIf KeyAscii = vbKeyReturn Then 
DDSFront.BltToDC Picture1.hDC, sRect, sRect 
 With Picture1 
 '获得与主显示平面兼容的图形设备句柄 
 hdcSrc = DDSFront.GetDC 
 '保存图像 
 Set .Picture = SaveTohBmp(hdcSrc, 0, 0, 640, 480) 
 '释放图形句柄 
 DDSFront.ReleaseDC hdcSrc 
 SavePicture Picture1, “c:\a.bmp” 
 End With 
 End If 
End Sub 
 
Public Sub Form_Paint() 
 BlitRect.Right = DDSBackDesc.lWidth 
 BlitRect.Bottom = DDSBackDesc.lHeight 
 DDSFront.Blt BlitRect, DDSBack, BlitRect, DDBLT_WAIT 
End Sub 
在工程文件中加入一个Module文件,这个文件中DirectDraw操作做出了定义,在这个Module中加入以下代码: 
Option Explicit 
Public DX As New DirectX7 
Public DDraw As DirectDraw7 
Public DDSFront As DirectDrawSurface7 
Public DDSFrontDesc As DDSURFACEDESC2 
Public DDSBack As DirectDrawSurface7 
Public DDSBackDesc As DDSURFACEDESC2 
Public Clipper As DirectDrawClipper 
Dim Pict() As Byte 
Dim AlphaRect As RECT 
Dim X As Long, Y As Long 
Dim Temp As Long 
Dim Index As Long 
Dim Index2 As Long 
Dim Pos As Long 
Dim PosPlus1 As Long 
Dim PosPlus2 As Long 
Dim PosPlus3 As Long 
Public Pal(255) As PALETTEENTRY 
Public Palette As DirectDrawPalette 
Public BlitRect As RECT 
Public FullSize As Boolean 
Public ExitLoop As Boolean 
Dim Accum As Long 
Dim Msg(9) As String 
Dim Counter As Long 
Dim MsgIndex As Long 
Dim bDrawText As Boolean 
Dim lastTime As Long 
Dim XPos As Long, YPos As Long 
Dim wait As Long 
Dim Angle As Single 
Dim Flag As Boolean 
Dim Count As Long 
Dim CurModeActiveStatus As Boolean 
Dim bRestore As Boolean 
Dim Mode As Boolean 
Private Sub Main() 
 InitializeDX 
'初始化Picture1以获得DirectDraw界面图像 
 With MainForm.Picture1 .Width = 640 * Screen.TwipsPerPixelX .Height = 480 * Screen.TwipsPerPixelY 
 End With 
DDSBack.SetForeColor RGB(255, 255, 255) 
 MainForm.Font.Name = “宋体” 
 DDSBack.SetFont MainForm.Font 
Msg(0) =“一个显示火焰字的演示” 
Msg(1) =“演示” 
Msg(2) =“利用VB阵列” 
Msg(3) =“对显示内存” 
Msg(4) =“进行直接存取” 
Msg(5) =“{Esc}键退出” 
 '设置8位的调色板 
 For Index = 0 To 84 
 Pal(Index + 1).red = Index * 3 + 3 
 Pal(Index + 1).green = 0 
 Pal(Index + 1).blue = 0 
 Pal(Index + 86).red = 255 
 Pal(Index + 86).green = Index * 3 + 3 
 Pal(Index + 86).blue = 0 
 Pal(Index + 171).red = 255 
 Pal(Index + 171).green = 255 
 Pal(Index + 171).blue = Index * 3 + 3 
 Next 
Set Palette = DDraw.CreatePalette(DDPCAPS_8BIT _ Or DDPCAPS_ALLOW256, Pal()) 
 DDSFront.SetPalette Palette 
AlphaRect.Right = DDSBackDesc.lWidth - 1 
AlphaRect.Bottom=DDSBackDesc.lHeight- 1 
 DDSBack.Lock AlphaRect, DDSBackDesc, DDLOCK_WAIT, 0 

用VB编写DirectX7.0游戏三

[ 1 ]
用VB编写DirectX7.0游戏三 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑