网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.VisualBasic编程输入时,自动转换.
.VB中对字符串的处理及其扩展.
.用VB获得大容量硬盘信息.
.切分字符串.
.VisualBasic5.0多媒体创作技巧.
.利用VB6.0开发基于IIS的应用程序.
.数据访问控制--多客户环境下VB数.
.SQL的基本操作(1.数据类型).
.VB中播放三维动画编程一例.
.VisualBasic属性、方法和事件六.
.用WinSock设计Chat程序.
.不能再次装载程序.
.在你的应用程序里实现简单的加密.
.VBScript数据类型.
.VB创建、修改、删除WIN2K用户.
.VisualBasicCommonDialog控件的使.
.在有剪贴板的应用程序间移动数据.
.用VB创建复杂表格.
.VB VC混合编程疑难问题解.
.读写INI文件的四个函数.

DirectX7.0使用心得(2)

发表日期:2006-2-27


设定完视窗模式或全屏幕模式后,如果你是设定成全屏幕模式的话(也就是独占模式),接著就必须设定显示模式。
objDD.SetDisplayMode640,480,16,0,DDSDM_DEFAULT
参数中的640,480指的是640x480的模式,而16指的是16万色,如果是8的话则是256色,想改变显示模式的话只要改变这三个变数就可以了,一般常用的模式有:
320x20016万
320x240256
640x480256
640x48016万

Surface简介:
Surface就是DirectDraw用的显示记忆体,图像就是要画在Surface上面,一般来说有分成几种类型。
primarysurface屏幕上可以看到的显示记忆体,图像画在上面就能显示在屏幕上。
backbuffersurface这是一个能跟primarysurface作快速切换的Surface。
offscreensurface这是一个屏幕上看不见的Surface,可以用来存放图像。

我们现在就先来介绍建立primarysurface的方法,首先得宣告一个Surface物件和一个DDSURFACEDESC结构。
DimobjDDPrimSurfAsDirectDrawSurface7
Dimddsd1AsDDSURFACEDESC2

'DDSURFACEDESC主要是记录一个Surface的结构,像是Surface的高度、宽度之类的,建立一个primarysurface通常只要填入ddsCaps就可以了。
ddsd1.lFlags=DDSD_CAPS'设定DDSURFACEDESC结构中的ddsCaps有效。
ddsd1.ddsCaps.lCaps=DDSCAPS_PRIMARYSURFACE'设定要建立的是primarysuface。
SetobjDDPrimSurf=objDD.CreateSurface(ddsd1)'呼叫CreateSurface后即建立完成。

'offscreensurface的建立法则是要设定DDSURFACEDESC结构中的ddsCaps、dwHeight、dwWidth。
DimobjDDOffSurfAsDirectDrawSurface7
Dimddsd1AsDDSURFACEDESC2

ddsd1.lFlags=DDSD_CAPSOrDDSD_HEIGHTOrDDSD_WIDTH
'设定ddsCaps、lHeight、lWidth有效
ddsd1.ddsCaps.lCaps=DDSCAPS_OFFSCREENPLAIN'设定要建立offscreensurface
ddsd1.lWidth=640'设定Surface的宽度
ddsd1.lHeight=480'设定Surface的长度
SetobjDDOffSurf=objDD.CreateSurfaceFromFile("img1.bmp",ddsd1)
'offscreensurface建立完成并把img.bmp图档读取到offscreensurface里面。

一般来说不会直接在primarysurface上直接画图,我通常都是先在backbuffersurface上画,再利用切换的功能将Primarysurface和backbuffersurface交换,所以在这里介绍backbuffersurface的建立方法,由於要跟primarysurface一起建立,所以Primarysurface的建立方法也就有点不同。
DimobjDDPrimSurfAsDirectDrawSurface7
DimobjDDBackSurfAsDirectDrawSurface7
Dimddsd1AsDDSURFACEDESC2

ddsd1.lFlags=DDSD_CAPSOrDDSD_BACKBUFFERCOUNT
'设定ddsCaps和lBackBufferCount有效
ddsd1.lBackBufferCount=1'设定Backbuffersurface的数量
ddsd1.ddsCaps.lCaps=DDSCAPS_PRIMARYSURFACEOrDDSCAPS_FLIPOrDDSCAPS_COMPLEX
'设定要建立一个由primarysurface和backbuffersurface所构成的Surface
SetobjDDPrimSurf=objDD.CreateSurface(ddsd1)'primarysurface建立完成

DimcapsAsDDSCAPS2宣告一个DDSCAPS结构
caps.lCaps=DDSCAPS_BACKBUFFER设定要建立backbuffersurface
SetobjDDBackSurf=objDDPrimSurf.GetAttachedSurface(caps)backbuffersuface建立完成

Surface的部分讲完了,下一篇要说的是如何使用Blt和BltFast来作Surface间的图形的复制和搬移,就可以开始在Surface上画画罗。->

上一篇:VB游戏写作技巧(2)网络篇 人气:3501
下一篇:DirectX7.0使用心得(1) 人气:3538
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐