欢迎光临
我们一直在努力

directx7.0使用心得(3)_visualbasic教程

建站超值云服务器,限时71元/月

上一次我们一共建立了三个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上640×480的图形复制到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)->

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » directx7.0使用心得(3)_visualbasic教程
分享到: 更多 (0)