基于OgreBites::Widget的OEGUISystem 介绍

Q:什么是OEGUI?

A:OEGUI是一个基于Ogre::Overlay实现的GUI系统.在Ogre1.7版本的实例程序中实现了一些GUI的组件,OEGUI在这些组件的基础上仿照CEGUI实现了一个简单的GUI系统.

 

Q:OEGUISystem与CEGUI比较如何?

A:OEGUISystem现在仍然还是很简陋的,仅仅实现了一些基础的东西.比起CEGUI,功能很多地方还不完善.但OEGUISystem是完全基于Ogre的,改变各个组件的外观只需要更改对应的材质就可以实现多变的效果,这方面比CEGUI方便.

 

Q:OEGUI核心组件有哪些?

A:OEGUI包括3个核心组件.一个是OEGUISystem,全局全力类,用法了CEGUI::System类似.一个是Widget,指的各个窗口上的组件,比方说button,textBox等等.一个是OEWindow.OEWindow这个类存在的必要在于,各个Widget是基于Overlayelement的,而OverlayElement必须与对应的Overlay相关联才能实现显示.所以与CEGUI不同,在Widget与System之间,实现了一个OEWindow的中间类.

 

Q:我如何使用OEGUI?

A:这里有一个简单的示例.

http://blog.csdn.net/moonstrace/archive/2010/03/24/5410278.aspx

 

Q:OEGUI支持中文吗?

A:使用Ogre::Font的Api以及Windows消息钩子函数,OEGUI实现了中文支持.EditBox中实现了一个changeCNFont()的函数,运行中调用这个函数可以使EditBox支持中文.其他的Widget要支持中文,需要更改源代码.你可以根据EditBox的changeCNFont()函数进行对应的更改.(似乎只需要更改一个font指针相关联TextArea的指针).注意默认情况下,你需要把msyh.ttf这个字体文件拷贝到资源组中来.

 

Q:OEGUI还不完善,有必要现在就使用他?

A:我写这个介绍,希望大家能和我一起来扩充这个gui.

 

Q:OEGUI如何在现有的基础上实现扩充?

A:扩充主要是2个方面,继承Widget可以实现自己的gui组件;继承OEWindow可以实现自己的子窗口,比如对话框,聊天框,地图等等.当然,我自己写的代码也有很多不足的地方,希望大家能够一起来指正.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值