HGE引擎GUI对象的扩展

本文介绍了一个基于HGE引擎的游戏GUI框架设计,通过自定义基类实现了角色管理等复杂功能,并详细展示了角色管理类的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 HGE引擎提供一个基本的GUI控件类,其不实现任何功能,但是提供一套虚函数和属性供派生类使用。

开发者可以在此基础之上开发属于自己的控件,总的来说还是比较方便的。

 

我在开发自己的游戏框架过程中,吸取了许多经验教训。

建议HGE引擎的使用者们不要直接在渲染过程中使用HGE提供的图形函数,而应该将他们全部都封装在GUI控件派生类中,

这样有几大好处。

 

1. 更贴近面向对象,使得程序框架清晰;

2. 更好管理资源,使用和释放都在同一个小模块中,即使规模扩大,也方便维护;

3. 易复用,我们可以整理一套统一的基类,然后逐步派生、组合实现我们需要的功能。

 

下面给出我在开发过程中自己使用的几个方便的基类

 

 

具体的一个实例,比如我的界面角色管理类

 

 

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.youkuaiyun.com/zealczg/archive/2008/07/23/2695760.aspx( 游戏手柄(JoyStick)的延时处理 )声明:本程序的unicode 功能是国外的朋友实现的,并且还支持adobe的flash播放功能,我只是实现了手柄的接口,欢迎进行技术讨论!QQ:16535702,简单问题请勿骚扰!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值