Irrlicht输出中文字符串

本文档详细介绍了如何在Irrlicht 3D引擎中使用源代码实现输出中文字符串,包括所需的库和配置步骤,以及代码示例。适合熟悉C语言的程序员,展示了如何加载字体文件、创建并使用FreeTypeFont类来输出中文文字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kagula086

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值