惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
The Cloudflare Blog
V
Visual Studio Blog
罗磊的独立博客
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Last Week in AI
Last Week in AI
B
Blog RSS Feed
C
Check Point Blog
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
博客园 - 聂微东
MongoDB | Blog
MongoDB | Blog
雷峰网
雷峰网

博客园 - 安徽飞雪游戏工作室

贴几张我们用irrlicht做的游戏截图 jpg图片效果有点差,看起来是不是有点像劲舞团? 3dmax导出为my3d教程 从内存中加载图片资源 3dmax文件导出到ms3d文件. irrlicht1.3中文支持 Audiere PK OpenAL 【原创】IrrLicht中ms3D模型不支持多个贴图问题的解决 【引】[翻译]Irrlicht引擎里的冲突检测与响应 [原创]IrrLicht中MS3D模型骨骼动画支持bug的排除 MS3D model 的 Frame count - 安徽飞雪游戏工作室 材质动画 Irrlicht 论坛好贴 精选(不断补充中...) [转]Scrolling Credits Code [转](C++) How to animate and move an entity [原创]为Irrlicht中的人物添加武器 [原创]Irrlicht中的Texture透明色(colorkey) [原创]IrrLicht的GUI使用 [原创]IrrLicht-1.0中文支持 [转]宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现。
[原创]一个在Irrlicht中会常用的字符串转换函数
安徽飞雪游戏工作室 · 2006-07-23 · via 博客园 - 安徽飞雪游戏工作室

让Irrlicht支持中文后,编程过程中不免经常会用到char* 到wchar_t*的转换,看了上次转载的那篇关于L"xx"的文章,写了个小函数供使用.

#define xmalloc(s) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (s))
#define xfree(p)   HeapFree (GetProcessHeap(), 0, (p))

wchar_t *str2wstrptr(const char *pStr)
{
    PSTR pMultiByteStr = (PSTR)pStr;
    PWSTR pWideCharStr;
    int nLenOfWideCharStr;
    // 利用API函数MultiByteToWideChar()来把a转化成unicode字符
    nLenOfWideCharStr = MultiByteToWideChar( CP_ACP, 0, pMultiByteStr, -1, NULL, 0);
    pWideCharStr = (PWSTR)xmalloc(nLenOfWideCharStr * sizeof(WCHAR));
    MultiByteToWideChar( CP_ACP, 0, pMultiByteStr, -1, pWideCharStr, nLenOfWideCharStr );
 return pWideCharStr;
}

调用str2wstrptr后用xfree释放xmalloc申请到的空间.

示例:

char name[] = "岁月无声";

wchar_t* pmyname= str2wstrptr(name);

转换后就可以在irrlicht用了:

ITextSceneNode *bill = Scene->addTextSceneNode(fonts[1],pmyname);

xfree(pmyname);

可以不用Scene->addTextSceneNode(fonts[1],L"岁月无声");了.