文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络程序开发数据结构DirectDraw之C#入门攻略
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
热点TOP10
·Spring Integration 1.0 正式发布
·使用 Abbot 框架自动化测试 Eclipse 插件的用户界面 1
·sqldatasource控件处理image类型数据
·使用Spring框架轻松解决数据访问和配置问题
·PrideORM框架设计---数据访问层的设计
·委托(delegate)在自定义控件的应用
·Visual Basic里与Print有关的函数
·DataGrid控件中如过有四列,想去删除一列,怎么办

DirectDraw之C#入门攻略

日期:2008年9月11日 作者: 查看:[大字体 中字体 小字体]

DirectX简述

  DirectX本身为游戏开发的一套SDK,其本身原来仅仅是用来与OpenGL,3DFX竞争的一套用于视频游戏开发的SDK.。现在Microsoft已经发布其8.1版本。到DirectX7为止DirectX已经成为一套功能齐全的多媒体开发SDK.。由于其易用(相对于GDI API)高效也就成为了视频播放,3D绘图等高质量多媒体程序(high-performance multimedia applications)的良好开发平台。由于Microsoft在软件业的霸主地位,使得DirectX得到了众多的显卡厂商的广泛支持。换句话说,用DirectX编程就完全可以不用去管显卡的品牌和型号,专心和DirectX打好交道,剩下的由DirectX和Windows再交流解决了。
  
  DirectX的DirectDraw用于2D绘图,与Windows的API相比,DirectDraw更为安全,而且更增加了一些实用的方法用于图形的转换和修改。DirectInput则提供了用于管理输入设备的方法,在这里所有的Joystick都可以一律看待,极大的简化了Joystick的使用。DirectMusic和DirectSound不用说大家也能想到是音乐和声效的控制手段,尽管现在很多的游戏都采用MP3播放背景音乐,但是DirectMusic的方便和功能强大还是值得一看的。至于Direct3D和DirectPlay是用于3D绘制和联网游戏,尽管都是正红火的游戏形式,但因为D3D比较复杂,就只有留下D3D和DPlay以后再专门介绍了。由于DirectX本身是一套底层(low-level)的程序接口,也就是说它就是一套API,所以DirectX编程需要用到大量的指针用于对系统显存和系统内存进行直接操作以换取更快的执行效率,所以起初DirectX使仅用于C++的。从DirectX7开始,DirectX都有VB的运行库,那些复杂的指针操作统统被转换成了普通的变量操作,这也就是为什么能用C#开发DirectX程序的原因。

  由于我今天才拿到DirectX8.1的SDK,所以这里的程序都使用DirctX7vb运行库开发。DirectX结构复杂,功能烦多,掌握起来并不像数据库开发那么明了,所以在此我仅仅是对其简单的介绍其基本功能的介绍。但是也不用还怕DirectX下面的众多功能接口的使用的基本方法是一样的,归结下来实现基本功能一般的必要步骤如下:

  1.创建接口DirectX7.DirectXXXCreate();(XXX代表Input&Music&Draw….)

   如:ddraw=dx.DirectDrawCreate("");

  2.环境设置

   如:
    ddraw.SetCooperativeLevel(frm.Handle.ToInt32(),
             DxVBLib.CONST_DDSCLFLAGS.DDSCL_FULLSCREEN
             DxVBLib.CONST_DDSCLFLAGS.DDSCL_ALLOWMODEX
             DxVBLib.CONST_DDSCLFLAGS.DDSCL_EXCLUSIVE);

  环境设置有时需要枚举(enumerate)来获得正确的可用设置.

  3.创建操作实体

   如:DDsurface=ddraw.CreateSurface(ref dDDesc);

  4.对实体进行操作

   如:DDsurfaceSpt.SetColorKey(DxVBLib.CONST_DDCKEYFLAGS.DDCKEY_SRCBLT,ref DDColorKey);
 
  有了这4个步骤,也就基本上了解了DirectX编程的思路了,下面需要的就是寻找实现步骤的具体解决方法。我们先从DDraw开始,先做一个可以在背景上移动的(spriter)角色。然后再让他走动时发出声音(DSound),最后配上背景音乐(DMusic),这样一个游戏的基本要素也就差不多齐全了,剩下该让他干点什么,就要看你的相像力了,在发挥想象力之前,还是先写代码吧!

  建立一个project需要一个窗体(Form),引用Direct7 ,不要想引用DirectX8代替DirectX7,DirectX8没有DirectDraw我也不知道为什么没有了,可能是在D3D表面也可以绘制2D的原因吧!接着我们可以去掉多余的引用留下System.,System.Windows.Forms和DxVBLib(它可是主角哦)就可以了。DirectX就是绘图用的所以…System.Drawing就没用了,不过还是把System.Drawing留下来,后面访问Form位置的时候还是要用它。

[1] [2] [3] [4] [5] 下一页 



上一篇:搭建Ruby on Rails开发环境

下一篇:DirectShow应用——音频捕捉
相关文章:
·大智慧股票软件Level-2入门手册
·新手入门:操作系统重装完全攻略
·战争行为直接行动 游戏入门大全
·同花顺2008股票软件评测之入门篇
·菜鸟入门 IE浏览器防黑技巧十则
·入门到精通:负载均衡技术全攻略
·JavaScript入门学习书籍的阶段选择
相关软件:
·Flash MX 从入门到精通
·CorelDraw12 入门与实例(图文教程 菜鸟先飞系列教材)
·AutoCAD 14从入门到精通
·编程教程-MFC入门
·C语言初学者入门讲座
·健美入门
·vc入门教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot