hge 中 GUI 对象和控件.doc
《hge 中 GUI 对象和控件.doc》由会员分享,可在线阅读,更多相关《hge 中 GUI 对象和控件.doc(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1. hge 中 GUI 对象和控件hge 中 GUI 对象被看作是一个控件的容器,hge 提供了创建 GUI 对象的类 hgeGUI 类2. hgeGUI 类1)AddCtrl 函数void AddCtrl( hgeGUIObject *ctrl / hgeGUIObject 对象的指针);我们通常可以有这样的写法:gui-AddCtrl(new hgeGUIMenuItem(1,fnt,snd,400,200,0.0f,Play);这里 hgeGUIMenuItem 是一个控件,继承于 hgeGUIObject 类,注意,我们创建了 hgeGUIObject 对象,但是却没有去销毁它,因为
2、 hgeGUI 类的析构函数会去处理这些问题。2)SetNavMode设置 GUI 导航模式(Navigate mode):void SetNavMode( int navmode);HGEGUI_NONAVKEYS - 无键盘导航HGEGUI_LEFTRIGHT - 左右按键导航HGEGUI_UPDOWN - 上下按键导航HGEGUI_CYCLED - 循环默认情况下,navmode 被设置为 HGEGUI_NONAVKEYS,对于一个菜单,我们可以这样设置:SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED);使用上下键导航,并且循环。3)SetCursor设
3、置光标 sprite:void SetCursor( hgeSprite *sprite);设置光标对应的 sprite,如果为0,表示不显示光标,默认情况为0。注意,光标不受 GUI 对象的管理,也就是用户必须自己释放光标资源。4)SetFocusvoid SetFocus( int id);每个控件都有一个对应的 ID 号,这个 ID 号被称之为控件的标识符,这里通过控件标识符来设置焦点。键盘事件只会被分发到成为焦点的控件上。5)Enter开始 GUI Enter 动画3. hgeGUIObjecthgeGUIObject 是一个抽象类,它有一个纯虚函数 RenderhgeGUIObjec
4、t 类的子类的对象并不是 GUI 对象,而是 GUI 控件,这一点应该清楚1)hgeGUIObject 的成员变量hgeGUIObject 的成员变量都为 public:/ 必须在构造函数中初始化的变量int id; / 控件标识符bool bStatic; / 如果为 true 控件无法成为焦点也不会接受键盘事件,同时它将被 navigate 例程忽略(前面已谈到设置 navigate)bool bVisible; / 控件是否可见,如果为 false,控件将不被渲染bool bEnabled; / false 时,控件对用户的输入不作出任何回应,但是控件是可以接受到用户的通知(区别于 bS
5、tatic)hgeRect rect; / 控件有界框(bounding box)在屏幕上的区域DWORD color; / 控件颜色/ 不需要在构造函数中初始化的变量hgeGUI *gui; / GUI 对象指针hgeGUIObject *next; / 连接 GUI 对象中的所有控件,子类不需要改变它hgeGUIObject *prev; / 连接 GUI 对象中的所有控件,子类不需要改变它/ hge 指针static HGE *hge;2)void Render(void)渲染控件到屏幕3)void Update(float fDt)fDt 上次调用 Update 函数到现在所用的时间(
6、单位是秒)4)void Enter(void)控件出现在屏幕上的时候被调用,用于播放控件出现时的动画5)void Leave(void)控件离开屏幕的时候被调用,用于播放控件离开屏幕的动画6)bool IsDone(void)判断控件出现动画和控件离开动画是否播放完毕7)void Focus(bool bFocused)控件获得焦点,bFocused 为 true,反之为 false8)bool MouseMove(float x, float y)以控件左上为原点,鼠标指针的坐标。如果控件状态改变,需要通知调用者,那么返回 true,否则返回 false9)bool MouseLButton
7、( bool bDown)bDown 如果为 true,表示按下鼠标左键,如果 bDown 为 false,表示松开鼠标左键10)bool KeyClick( int key, int chr)key 表示按键的虚拟代码(Virtual code of the pressed key),见下表:HGEK_LBUTTONLeft mouse buttonHGEK_RBUTTONRight mouse buttonHGEK_MBUTTONMiddle mouse button (wheel button)HGEK_ESCAPEESCAPE keyHGEK_BACKSPACEBACKSPACE ke
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hge GUI 对象和控件 对象 控件
限制150内