Irrlicht输出中文字符串

Irrlicht输出中文字符串

作者: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

正文

IrrlichtHello 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.hgui_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

你可能感兴趣的:(字符串)