DelphiX基本上严格按照Microsoft DirectX SDK 开发包来将其功能在Delphi中实现出来。所以,如果你对DirectX SDK比较熟悉的话,你会发现大多数程序从C移植到Delphi是很容易的事。DelphiX 中没有提供帮助的地方,你可以在DirectX SDK中获得答案。 下面通过一个简单的例子对如何利用DelphiX编程作一介绍,只涉及Ddraw二维的一小...
listwave文件列表组件tdxinput输入组件包括键盘和手柄输入tdxplay通讯组件用于网络游戏开发tdxspriteengine精灵引擎用于管理游戏中产生的精灵sprite详见游戏开发过程tdxtimer高速定时器比ttimer要更快更准确tdxpaintboxtpaintbox的dib版本tdxform优化过的tform专门用于游戏开发动画原理在介绍动画的原理之前我们先来介绍几个directx的...
Delphi+DirectX游戏编程 先说说如果用Delphi进行游戏编程要些什么,要注意什么。1、到网上查找下载 DirectX 7.0 for Delphi 声明档或更高版本(本人源码用的是7.0)。查找时最好用DirectDraw.pas,否则DelphiX控件信息会占满你前100页的搜索结果。2、如果你是用D7或更高版本,DirectX 7.0 for Delphi 声明档的 Direct...
DelphiX 的组件面板上, 第二个就是 TDXDIB; TDXDIB.DIB 是 TDXDIB 的唯一属性(其他是 TComponent 固有的); TDXDIB.DIB 属性是一个 TDIB 对象; TDIB 和 TBitmap 一样都直接继承自 TGraphic, 是一个图片容器, 它还有个别名: TDIBitmap; TDIB 和 TDXDraw.Surface 还有 TDXImageList 中的元素(TPictureColl...
TDXDraw.Flip 会置换 Surface 和 Primary 两个对象, 所以我们尽可以只在 Surface 上绘图; 由于DirectX 的工作机制, 让这个切换速度异常地快(只是切换一个指针), 从而可以完成非常流畅的动画、游戏. 从TDXDraw 的绘图表面也可以获取 Canvas 对象, 因而在 TDXDraw 中也可以使用 GDI/GDI+ 的绘图命令; ...
DirectX 是 Direct eXtension 的英文简写,是由微软公司创建的用于进行多媒体编程的功能函数库。DirectX 由C++编程语言实现,如果要在 Delphi 语言里使用 DirectX ,需要先将 DirectX SDK 引入,即将大量的 .h 头部、函数声明等转换成 delphi 语言。在 delphi 里安装 DirectX,通常可以使用通过下载网络上...
简单封装 Delphi 的 DirectX类 var CreatorRenderer : TCreatorRenderer; Form1: TForm1; 窗体代码: {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin // 创建 CreatorRenderer := TCreatorRenderer.Create(); CreatorRenderer.CreateDevice(self.Handle,self.Width,Self.Height ,true);...
二 准备工作 目前用DELPHI开发DirectX游戏有二种选择 一是使用jedi的DirectX声明(// delphi jedi ) 另一种是使用DelphiX控件 在这里我们准备使用jedi的DirectX声明包来开发DirectX游戏 之所以选择DirectX声明包 是因为这样是以SDK方式来开发游戏 以后如果需要转到其它语言也不必重新学习DirectX 至于DelphiX控件我...
Delphi中使用DirectX截屏函数(3) 再给一个使用dX8实现的,上面给的是用Dx9实现的函数 procedure CaptureScreen(const FileName: string;Const FileType: TD3DXImageFileFormat); var pD3D: IDirect3D8; pSurface: IDirect3DSurface8; g_pD3DDevice: IDirect3DDevice8;...
Delphi中使用DirectX截屏函数(4) 再给一个直接使用系统GDI实现的抓屏 procedure CaptureScreen(const FileName: string);overload; var nScreenWidth,nScreenHeight: integer; ScreenDc,hCaptureDC: HDC; bmp: TBitmap; begin nScreenWidth := GetSystemMetrics(SM_CXSCREEN);...