hgeGUI组件扩展基本步骤
扩展步骤:
- 继承hgeGUIObject
- 默认构造方法,要带一个int属性用于存放该组件的ID
- 在构造方法中,对以下属性赋初值:
- id:控件的ID
- bEnable:控件是否可用
- bStatic:能否接受键盘焦点(false貌似才是可以接受)
- bVisible:控件是否可见
- rect:控件作用域(全屏可以设成0, 0, hge->System_GetState(HGE_SCREENWIDTH), hge->System_GetState(HGE_SCREENHEIGHT))
- 重写Render函数,用于渲染。
- 如果有键盘操作,重写KeyClick函数,
如果要默认就可以使用键盘的话,需要让父gui设置默认焦点给该控件:
gui->SetFocus(id)(可以放在Render函数里) - 如果有鼠标操作,重写MouseLButton\MouseRButton等需要的函数
- 如果有其他update操作,重写Update函数
重写的时候要注意函数参数列表,不要写成重载了 - -
创建步骤:
- 创建一个hgeGUI*(如果已经有就不用创建了 - -)
- 创建你的控件,使用pGUI->AddCtrl对其进行控制
- 在逻辑函数中加入pGUI->Update(pHge->Timer_GetDelta)
- 在渲染函数中加入pGUI->Render()
HGE 改进的对话框组件
自定义大小、位置,显示脸部图片,角色姓名,对话信息。
但是对话信息依然不支持自动换行,需要自行输入"\n"。
截图如下:
【显示对话、角色姓名与脸部图片】
【显示对话】
【显示对话与头像】
【显示对话与姓名】
HGE 简单对话框组件
采用直接贴图的方式,因此固定了图片和大小。
带姓名框的对话框…… = = 待完善
图片、字体路径需要自己修改。
创建方法是CDialog* pDialog = new CDialog(id, messages); 其中id是控件ID(不要重复),messages是queue< pair<string, string> >。第一项为姓名,第二项为文字。然后交给gui去处理。详细看demo、、、