Posted on 2008-09-08 10:52
美洲豹 阅读(570)
评论(0) 编辑 收藏 引用
|
OGRE 1.4.1 显示中文解决
|
|
OGRE 1.4.1版本CEGUI中文显示解决----------李赛威总结献给那些还没实现的朋友们
有问题加我QQ 33635392,刚学习OGRE,有问题大家一块解决
1. 从WINDOWS\Fonts里边找中文字体复制到Media\fonts 例simsun.ttc 宋体 simhei.ttf黑体
2. Media\gui里添加XX.font
例simsun.font
<?xml version="1.0" ?> <Font Name="simsun" Filename="simsun.ttc" Type="FreeType" Size="12"
NativeHorzRes="800" NativeVertRes="600" AutoScaled="true"/>
3.Media\guiTaharezLookSkin.scheme里添加<Font Name="simsun" Filename="simsun.font" />
4. .layout文件里
<Window Type="TaharezLook/Button" Name="Demo">
<Property Name="UnifiedPosition" Value="{{0.5,0},{0.5,0}}" />
<Property Name="UnifiedSize" Value="{{0.5,0},{0.5,0}}" />
<Property Name="Text" Value="中文" />
</Window>
5. 程序里void createScene(void)里
// setup GUI system
mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow,
Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mSceneMgr);
mGUISystem = new CEGUI::System(mGUIRenderer);
CEGUI::Logger::getSingleton().setLoggingLevel(CEGUI::Informative);
// load scheme and set up defaults
CEGUI::SchemeManager::getSingleton().loadScheme(
(CEGUI::utf8*)"TaharezLookSkin.scheme");
mGUISystem->setDefaultMouseCursor(
(CEGUI::utf8*)"TaharezLook", (CEGUI::utf8*)"MouseArrow");
mGUISystem->setDefaultFont((CEGUI::utf8*)"simsun");//这里改成刚才添加的字体
CEGUI::Window* sheet =
CEGUI::WindowManager::getSingleton().loadWindowLayout(
(CEGUI::utf8*)"ogregui.layout"); 在用CEGUILayoutEditor的时候可暂时用英文,而在导入后可用代码改变它,示例如下: CEGUI::WindowManager::getSingleton().getWindow((CEGUI::utf8*)"Root/AdjustWindow")->setText((CEGUI::utf8*)Ogre::UTFString(L"中文").asUTF8_c_str());
测试了一下,得到如下的效果
|
|