Liny_@NotePad

沉迷ACG中

hge个人项目开发日志(3)

今天主要内容是QQ堂大富翁专用地图编辑器的UI实现。
目前暂时设计为背景层、装饰层、路径层和事件层 但是感觉不是很好 需要再改动

hge个人项目开发日志(2)

今日工作量。。开始游戏的选择界面、游戏进行过程中的菜单

hge个人项目开发日志(1)

经过数天的思索,最后决定将猫猫鱼的RMXP作品《QQ堂大富翁》用HGE实现 - -。
这样花在素材上的时间就少了很多~

第一天的工作量:
主菜单、对话框(包括头像和英文)显示、角色的步行与小车动画。

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 地图编辑器之自动地图元件

介概念是在RMXP里看到的。根据输入会自动调整地图大小的Tile元件,代码待整理,截图如下:

HGE 改进的对话框组件

自定义大小、位置,显示脸部图片,角色姓名,对话信息。
但是对话信息依然不支持自动换行,需要自行输入"\n"。

截图如下:
【显示对话、角色姓名与脸部图片】

【显示对话】

【显示对话与头像】

【显示对话与姓名】

HGE 简单对话框组件

采用直接贴图的方式,因此固定了图片和大小。
带姓名框的对话框…… = = 待完善
图片、字体路径需要自己修改。

创建方法是CDialog* pDialog = new CDialog(id, messages); 其中id是控件ID(不要重复),messages是queue< pair<string, string> >。第一项为姓名,第二项为文字。然后交给gui去处理。详细看demo、、、

DEMO样图

HGE 按下任意键监听

使用HGE::Input_GetKey()函数即可,判断返回值不为NULL,即可执行对应操作。

* 包括鼠标按键(左/右/中)和键盘上所有HGE可以监听到的键(详细查看HGE的API)。