HGE教程翻译(6)

Tutorial 06 – 创建菜单

 

这个教程显示如何创建通用的GUI控制和菜单。

创建通用控制

首先我们定义控制类,从hgeGUIObject继承:

 

 

 

 

 

 

 

构造函数初始化数据成员id, bStatic, bVisible, bEnabled rect

 

 

 

 

 

Render函数是重点,每个控制都要定义它。

 

 

所有其他方法都是可选的,你可以不定义。


Update在每次GUI更新并需要渲染时调用。在这例子中我们有两个定时器根据时间调节颜色和位置,

 

 

EnterGUI将要出现在屏幕上时调用。一个控制动画应该在这里进入:

 

 

 

 

 

LeaveGUI要从屏幕消失时调用。

 

 

 

 

 

IsDone用来检测这个控制是否完成Enter/Leave动画。完成返回true

 

 

Focus当控制获得或失去键盘输入焦点时调用。

 

 

 

 

MouseOver用来通知鼠标指针进入或离开它的区域。这里我们只设置输入焦点到控制当鼠标经过它时。

 

 

MouseLButton当左键状态改变时调用。如果控制改变它的状态并希望通知调用者,应该返回true

 

 

KeyClick用来通知控制一个键被点击。如果控制改变它的状态并希望通知调用者,应返回true

 

 

 

现在我们有通用的控制行为定义了。

使用GUI

这里是简单部分。首先我们需要资源变量:

 

 

 

WinMain中,在初始化过程中载入资源:

 

 

 

现在创建GUI并添加菜单部件。GUI控制在内部处理,你不需要关心。

 

 

 

现在我们设置GUI模式,鼠标图象和默认键盘焦点,然后开始进入动画:

 

 

现在看看我们如何更新菜单和接收通知。在FrameFunc中我们调用hgeGUI::Update来更新状态,它返回控制的鉴定值。如果所有的控制都完成离开动画,它返回-1。如果没有事情发生返回0

 

 

 

 

RenderFunc中调用hgeGUI::Render来渲染菜单:

 

 

菜单出现并运行。现在来到WinMain。程序结束时删除GUI并释放资源。

 

 

你可能感兴趣的:(HGE教程翻译)