HGE——重新编写HGESprite接口和字体接口

  重新编写了HGESprite部分,不再使用HGESprite单元。

  另外编写了一个HGECanvas单元,当然不是那个火人论坛上面的那个HGE加强版的那个。

  参考ID3DSprite接口的做法,使用一个接口对象,就可以批量绘制所有的图元。

  不需要创建多个接口对象。同时添加了纹理列表来管理显卡内存里面的纹理指针。

  完全按照网络游戏的做法,加载完成硬盘自定义格式资源文件包后,产生所需要的显卡内存纹理对象,就可以释放系统内存,使系统内存占用相当

低。

  开始绘图的时候就由显卡内存读取,由GPU来进行绘制。这样使CPU和系统内存资源极大地解放了。

  D3D编程最爽的地方是不需要经常从系统硬盘读取资源,提供的显卡内存管理极大地方便了绘图操作。

  这些简直是以前DDRAW模式所不能够比的。

      重新编写了字体绘制部分,不再采用效率低下和不支持中文的原HGEFont单元。

     采用D3D9.0C优化得比以前版本更理想的ID3DXFont进行绘制。

  在D3D9.0C之前的ID3DXFont接口是不能够使用的。更何况是D3D8.0版本的。

  但是D3D9.0C之后微软就已经优化到合乎要求了。尤其是不再需要为不支持中文而烦恼了,目前很多引擎对于中文的支持都是不理想的。

  只是我对于Delphi的那些字符类型操作真是感到莫大的厌恶。

  接下来应该是碰撞方面的优化了。

  搞好之后,可以修改游戏源代码的绘图部分、逻辑部分和数据库部分,还是改成SQL数据库好些,方便以后的扩展。

  Delphi 2010版本确实好用,说真的,真不敢想象在D7之下进行开发会是个什么样子。无法了解内存泄露,无法得到各种错误信息等等。

  所以说在D7之下进行开发还是需要比在2010版本之下开发的时间成本和精力开销,还是非常大的。

转载于:https://www.cnblogs.com/GameDelphi/archive/2012/03/07/2382836.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HGE 1.8.1a Unicode Edition and Support Joystick中文的使用方法:1、现将现在的工程转换为UNICODE,否则会提示找不到hgeFont符号。2、在用到的字符串处使用宏TXT()进行字符处理(hge中自带的),也可声明如HGE_CHAR a[]={"hello"};方式使用3、不能使用现在的字体文件,我们先用Bitmap Font Generator (www.AngelCode.com)生成fnt字体,然后用本HGE中自带的bmfconv进行转换,生成本HGE能用的字体。手柄的使用方法:1、先生成一个指针类型的DIJOYSTATE结构,如:DIJOYSTATE js=new DIJOYSTATE; hge.h文件有此结构定义2、m_hge->System_SetState(HGE_USEJOYSTICK,true);进行标志位设置,设置为true为可用手柄。3、m_hge->System_SetState(HGE_JOYSTICKFUN,JoystickStateProxy,js); 其中JoystickStateProxy是指手柄的callback函数,相当于FrameFunc等,函数原型是void JoystickStateProxy();4、m_hge->System_SetState(HGE_JOYUPDATE,10);//更新手柄信息的速度,就是轮询时间,手柄事件的状态更新。5、m_hge->System_SetState(HGE_JOYEVENT,10);//触发事件的速度,也就是JoystickStateProxy这个函数的访问速度。这里是10毫秒触发一次要想看手柄的处理,请看我的博客文章:http://blog.csdn.net/zealczg/archive/2008/07/23/2695760.aspx( 游戏手柄(JoyStick)的延时处理 )声明:本程序的unicode 功能是国外的朋友实现的,并且还支持adobe的flash播放功能,我只是实现了手柄的接口,欢迎进行技术讨论!QQ:16535702,简单问题请勿骚扰!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值