Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Visual Basic > DirectX7.0使用心得(3)
【标  题】:DirectX7.0使用心得(3)
【关键字】:c,DirectX,DirectX7
【来  源】:网络

DirectX7.0使用心得(3)

Your Ad Here 上一次我们一共建立了三个Surface,分别是objDDPrimSurf(Primary surface)、objDDBackSurf(BackBuffer surface)、objDDOffSurf(Offscreen surface)。
现在我打算把objDDOffSurf拿来存放图片,再用BltFast()把图片给复制到objDDBackSurf上,然后用objDDPrimSurf的Flip来跟objDDBackSurf作交换的动作,因为objDDPrimSurf代表的就是显示记忆体,所以交换后图片就显示在屏幕上啦!

现在我先介绍BltFast()的用法:
BltFast(dx As Long,dy As Long,dds As DirectDrawSurface7,srcRect As RECT,trans As CONST_DDBLTFASTFLAGS) As Long

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

例:想把objDDOffSurf上640x480的图形复制到objDDBackSurf
Dim r1 As RECT

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

objDDBackSurf 0, 0, objDDOffSurf, r1, DDBLTFAST_WAIT

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

objDDPrim.Flip Nothing, DDFLIP_WAIT
这么一来图形就出现在屏幕上啦。 完整范例程式下载 (9K)
即时即战游戏的写法:【上一篇】
DirectX7.0使用心得(2):【下一篇】
【相关文章】
  • 用VB创建Excel报表
  • Excel中Basic程序的运行
  • 利用VBA自定义Office的快捷方式
  • Visual Basic 菜单在应用程序中的使用
  • 使用VBA-Excel97绘图
  • 用VB5直接控制Excel 97
  • 在VB组件内调用Excel2000实现GIF饼图
  • 如何在VB6中导出EXCEL、FOXPRO格式的表
  • Visual Basic 菜单在应用程序中的使用 二
  • Visual Basic 工具栏、对话框二
  • 【随机文章】
  • 关于广州.NET俱乐部的logo和T恤设计以及往后安排
  • 1.*把long转换为double
  • 《2007年Web开发技术预言》
  • NHibernate: One-to-Many一对多映射(VB.NET版)
  • 一时口误,居然这样说~~~~~~~~~~~
  • flash design recent
  • Unicode 知识一则
  • PowerBuilder数据窗口与数据库
  • 数据结构(第二版,C语言版)严蔚敏编著 第一章绪论中的错误
  • Java变量类型间的相互转换
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.