当前位置:主页>Visual Basic教程>文章内容
DirectX7.0使用心得(3)
来源: 作者: 发布时间:2007-04-29  
上一次我们一共建立了三个Surface,分别是objDDPrimSurf(Primarysurface)、objDDBackSurf(BackBuffersurface)、objDDOffSurf(Offscreensurface)。
现在我打算把objDDOffSurf拿来存放图片,再用BltFast()把图片给复制到objDDBackSurf上,然后用objDDPrimSurf的Flip来跟objDDBackSurf作交换的动作,因为objDDPrimSurf代表的就是显示记忆体,所以交换后图片就显示在屏幕上啦!

现在我先介绍BltFast()的用法:
BltFast(dxAsLong,dyAsLong,ddsAsDirectDrawSurface7,srcRectAsRECT,transAsCONST_DDBLTFASTFLAGS)AsLong

dx、dy
图形复制到目标Surface上的位置(座标)
dds
图片来源的Surface
srcRect
复制图形的范围
trans
复制图片的方式
DDBLTFAST_DESTCOLORKEY'使用目标Surface上的透明色
DDBLTFAST_NOCOLORKEY'直接复制图形
DDBLTFAST_SRCCOLORKEY'使用来源Surface上的透明色
DDBLTFAST_WAIT'若暂时无法执行的话就等到可以执行时

例:想把objDDOffSurf上640x480的图形复制到objDDBackSurf
Dimr1AsRECT

r1.left=0
r1.top=0
r1.right=640
r1.bottom=480

objDDBackSurf0,0,objDDOffSurf,r1,DDBLTFAST_WAIT

这样就把图形给复制到了objDDBackSurf上了,不过这样也只是在objDDBackSurf上而已,并不是在屏幕上,所以必须跟objDDPrimSurf作Flip才行,怎堋作呢?只要执行下面这一行就可以了:

objDDPrim.FlipNothing,DDFLIP_WAIT
这么一来图形就出现在屏幕上啦。完整范例程式下载(9K)->


 
上一篇:即时即战游戏的写法   下一篇:用VB创建Excel报表
 
  相关文章
·即时即战游戏的写法
·用VB创建Excel报表
·DirectX7.0使用心得(1)
·避免VBA陷阱--有时,VBA使你避免危险
·DirectX7.0使用心得(2)
·Excel中Basic程序的运行
·VB游戏写作技巧(2)网络篇
·在VB中控制Word
·VB游戏写作技巧(1)秀图篇
·VB中调用Word拼写检查
·用VB编写DirectX7.0游戏(上)
·在Word中嵌入应用程序
 
【关闭窗口】
推荐本站资源
最新文章