简单封装 Delphi 的 DirectX类 (续)

本文介绍如何在Delphi中封装DirectX类,用于在窗体上绘制图像。通过创建精灵类,简化了图形绘制的过程。
摘要由CSDN通过智能技术生成

前面只是初始化, 现在在上面画上一张图片.

窗体代码:

var
  // 精灵
  GameSprite1      : TGameSprite;
  // 渲染器
  CreatorRenderer  : TCreatorRenderer;
  Form1: TForm1;


implementation


{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // 创建
  CreatorRenderer := TCreatorRenderer.Create();
  CreatorRenderer.CreateDevice(self.Handle,self.Width,self.Height ,true);

  GameSprite1 := TGameSprite.Create('e:\zss.png',0.0,0.0,1.0);
  GameSprite1.Init();
  // 开启定时器
  Timer1.Enabled := True;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  CreatorRenderer.Free;
  GameSprite1.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  CreatorRenderer.BeginRender();
  CreatorRenderer.BeginRenderSprite();
  GameSprite1.Draw();

  CreatorRenderer.EndRenderSprite();
  CreatorRenderer.EndRender();
end;


封装一下精灵类

 

// 精灵类
// warrially
unit xGameSprite;

interface
uses
  D3DX9, Direct3D9, Windows, Classes;
type
{ TGameSprite }
  TRGBChannels = record
    m_ucRChannel, m_ucGChannel, m_ucBChannel : UCHAR;
  end;
  RGBCHANNELS  = TRGBChannels;
  _RGBCHANNELS = TRGBChannels;
  PRGBCHANNELS = ^TRGBChannels;

  TTextColor = record
    m_ucR, m_ucG, m_ucB : UCHAR;
  end;
  TEXTCOLOR   = TTextColor;
  _TEXTCOLOR  = TTextColor;
  PTEXTCOLOR  = ^TTextColor;


  TGameSprite = class(TObject)
  private
    m_pTex          : IDirect3DTexture9;
    m_szResourcePath: PWideChar;            
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值