Posted on 2008-09-08 10:52 
美洲豹 阅读(580) 
评论(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());
 
 测试了一下,得到如下的效果
 
  
  
 
 
 
 
 
 
 |  |