Game设计
DirectX与VB.NET编程(十六)*图片结构与DirectDraw截图(上)
Kalet 发表于2009-03-20 浏览370 评论0
这一章是DirectDraw的终结篇章了,以前曾应某位观众写DirectDraw下的截图方法,所以借这个篇章,最后讲解下图片的构造和DirectDraw的截图方法,网上这个截图的方法多数用C++和COM+写的,很难翻译成.NET的语法,只好自己研究图片的构造,花了不少时间。本文可能是网上唯一一篇讲.NET+DirectDraw截图的方法吧。(本文内容参考引用:MSDN、百度百科、南京邮电大学-吴登荣、CSDN-_wmain。由于篇幅问题,本文分为上下两篇,上篇内容为图片构造理论,下篇为截图的实际应用。)===============华丽的分割线===============DirectX与VB...
Game设计
DirectX与VB.NET编程(十五)*色深理论与图片智能加载
Kalet 发表于2009-03-20 浏览333 评论0
DimvSecondarySurfaceAsSurfaceDimvSecondarySurfaceCapsAsNewSurfaceCapsDimvSecondarySurfaceDescAsSurfaceDescriptionDirectX与VB.NET编程(十五)*色深理论与图片智能加载'取得图片大小DimvBitmapAsNewBitmap(OpenFileDialog1.FileName)DimvSizeAsInteger=vBitmap.Width*vBitmap.Height*Convert(vBitmap.PixelFormat)'取得...
Game设计
DirectX与VB.NET编程(十四)窗口动画与剪切
Kalet 发表于2009-03-20 浏览378 评论0
拖了很久的剪切终于要在这一章中被终结了,本章的主要内容是窗口模式下的绘图,相信看过上个教程的朋友一定对全屏下翻转的一些限制有所不满,这一章中也将介绍仿翻转方式,仿翻转模式是本人经过试验摸索出来的(但我不排除事先已经有这个技术),仿翻转不仅在上效果和翻转相差无几,而且甩开了诸多束缚,馋人的话就不说了,下面切入正题。===============华丽的分割线===============学习内容:DirectX与VB.NET编程(十四)窗口动画与剪切·了解仿翻转方式的基本原理·了解剪切的使用原理·利用仿翻转方式绘制窗口模式的动画·利用剪切限制动画的显示范围===============华丽的分割线...
Game设计
Managed DirectX +C# 开发(入门篇)4
Kalet 发表于2009-03-20 浏览327 评论0
第七章顶点缓冲一、索引缓冲3D物体中的三角形经常会有许多共用顶点。如果用两个三角形组合为一个长方形,有两个点被重复使用,当要表现一个更精细更复杂的模型的时候,重复的顶点数将会变得很大。下图的立方体,仅有八个顶点,但是当用三角形列表示它的时候,所有的点都被重复使用。ManagedDirectX+C#开发(入门篇)4索引缓冲就是一块保存了顶点数据索引的缓冲。缓冲中的索引为32位或16位的整数。比如,当使用索引0,1,6来绘制一个三角形时,会通过索引映射到相应的顶点来渲染图像。以下为创建一个索引缓冲的代码示例:intnumberVerts=8;short[]indices={&n...
Game设计
Managed DirectX +C# 开发(入门篇)4
Kalet 发表于2009-03-20 浏览353 评论0
第六章Mesh对象一、什么是Mesh?前面已经接触过Mesh类,在这里则对它进行详细介绍ManagedDirectX+C#开发(入门篇)4Mesh可以用来储存任何类型的图形数据,但主要用来封装复杂的模型。Mesh类同样也有一些用来提高渲染物体性能的方法。使用Mesh可以从外部文件读入3D的模型文件,比如MaYa文件,这样就可以在3DMax或MaYa等软件中做好模型,然后读入程序。Mesh对象内部也包含了很多几何体的模型。Mesh对象包位于Direct3D扩展库(D3DXDirect3DExtensionslibrary)中。注意添加对Direct3DX.dll程序集的引用。Me...
Game设计
Managed DirectX +C# 开发(入门篇)3
Kalet 发表于2009-03-20 浏览360 评论0
ManagedDirectX+C#开发(入门篇)3ManagedDirectX+C#开发(入门篇)3ManagedDirectX+C#开发(入门篇)3第五章矩阵变换一:为什么使用4×4矩阵?在3D中进行编程时,使用的是4×4矩阵来进行矩阵变换。初学者往往认为既然是三维空间,为何不使用3×3的矩阵来表示呢?这是因为3×3的矩阵不能表示有些变换,比如比如平移、投影、反射,因此,增大到4×4,这样,就可以描述更多的变换了。但是矩阵变成了4×4,为了做向量与矩阵的相乘,所以需要把向量增加为1×4,因为1×3的行矩阵和4×4的矩阵是无法相乘的;那么,如何使用第四个成员(用w来表示)呢...
Game设计
Managed DirectX +C# 开发(入门篇)2
Kalet 发表于2009-03-20 浏览322 评论0
ManagedDirectX+C#开发(入门篇)2如果代码是:device.DrawPrimitives(PrimitiveType.LineStrip,0,3);执行结果是:它把顶点绘制为一条折线。至少需要两个顶点。如果代码为:device.DrawPrimitives(PrimitiveType.PointList,0,4);执行结果是:把数据作为一系列离散的点来绘制。四、创建顶点缓冲使用顶点缓冲可以大幅度提高工作效率,如果不使用顶点缓冲,当每次渲染场景里,都要分配新的顶点列表,并且所有的内容都要存储在系统内存里,如果使用顶点缓冲,则可以把顶点数据存放在显存中,这样会大幅度提高应...
Game设计
Managed DirectX +C# 开发(入门篇)1
Kalet 发表于2009-03-20 浏览314 评论0
一、创建设备本节介绍的示例为DirectXSDK自带的示例,在这里将其解释一下,本示例什么也不做,只是显示一个空白窗体。现在先看程序运行的主函数:staticvoidMain() {//建立一个窗体实例; using(CreateDevicefrm=newCreateDevice()) &nbs...
Game设计
用C# 控制游戏设备
Kalet 发表于2009-03-20 浏览367 评论0
在windows中控制游戏设备有现成的通用接口DirectX,不过我今天说的是托管代码的编程方法,不光是C#,VB.net也是适用的。 首先确保你的操作系统中有DirectX9,在新建项目中添加引用,添加Microsoft.DirectX,Microsoft.DirectX.DirectInput,添加完成后就可以编写代码了。 首先罗列出所有的设备,下面的例子用树罗列出...
Game设计
“文字对战游戏”开发实例
Kalet 发表于2009-03-20 浏览304 评论0
摘要:C#进行游戏编程一直受到一些C++程序员的怀疑和猜忌,是不是真的C#就不能进行游戏编程呢?回答当然是否定的,因为,微软已经发布了DirectX9.0SDK开发包,使得C#进行游戏编程简单易行,本篇在.NET环境下,用C#调用DirectX进行游戏编程,通过简单而又明朗的编程实例揭示C#DirectX编程的奥秘,在本篇的开始,作者对.NET、C#、DirectX及游戏制作的相关知识都作了介绍和讲解,然后,一步步的制作“文字对战游戏”,相信读完本文,你一定会受益非浅。关键词:C#DirectX.NET“文字对战游戏”“文字对战游戏”开发实例一、.NET概述1..NET是什么,刚刚...