Posted on 2008-09-08 10:52
美洲豹 閱讀(574)
評論(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());
測試了一下,得到如下的效果


|
|