作者:Kagula
以源代码的形式示例,如何让Irrlicht输出中文字符串
熟悉C语言开发工具的程序员
[1]Irrlicht 1.6.1
下载地址:http://irrlicht.sourceforge.net/downloads.html
[2]Free type 2.3.11
下载地址:http://freetype.sourceforge.net/index2.html
以MT方式生成freetype2311MT.lib文件
[3] irrKlang-1.1.3
下载地址:http://www.ambiera.com/irrklang/
[4]VisualStudio2008+SP1
在Irrlicht的Hello World例程中使用下面的代码片段实现中文输出
Step1:使用头文件
#define COMPILE_WITH_FREETYPE
#include "gui_freetype_font.h"
Step2:准备中文输出
CGUITTFace myFace;
myFace.load("simhei.ttf");
CGUIFreetypeFont myFont(driver);
myFont.attach(&myFace,16);
Step3:方式一,输出中文
myFont.draw(L"中华人民共和国",rect<s32>(100,100,222,22),0xffffffff,false,false,NULL);
driver->endScene();//这行代码是原来有的
Step3:方式二,让控件直接支持输出中文
IGUIEnvironment* env = m_device->getGUIEnvironment();
IGUISkin* skin = env->getSkin();
m_face = new CGUITTFace();
m_face->load(filename.c_str());
m_font = new CGUIFreetypeFont(m_driver);
m_font->attach(m_face,12);
skin->setFont(m_font);
skin->setFont(m_font, EGDF_TOOLTIP);//env->getBuiltInFont()
上面的代码使用了源自http://www.michaelzeilfelder.de/irrlicht.htm#TrueType地址的
gui_freetype_font.h、gui_freetype_font.cpp文件。我对这两个代码做了些非功能性修改。下面是我修改后的这两个源文件的清单。
Gui_freetype_font.h文件源码
Gui_freetype_font.cpp文件源码
[1]Irrlicht ML 1.5
This is a multilingual version of Irrlicht 3D engine(最高只支持Irrlicht 1.5版本)
http://etwas.wolfish.org/Irrlicht/irrlichtml_en.html