cocos2d-x 显示中文字符

cocos2d-x中文显示 cocos2d-x中文显示 cocos2d-x v2.2.0 立即下载

解决显示中文乱码问题。

1,、cocos2d-x 显示中文字符
首先包含iconv.h头文件,c++->常规->附加包含目录:cocos2dx\platform\third_party\win32\iconv

2、新建tool.h,内容如下

#ifndef _TOOLS_H_
#define  _TOOLS_H_


#include "cocos2d.h"


#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
#include "iconv.h"
#endif


#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
#pragma comment(lib,"libiconv.lib")
#endif


float heronsformula(float x1,float y1,float x2,float y2,float x3,float y3);


bool triangleContainPoint(float x1,float y1,float x2,float y2,float x3,float y3,float px,float py);


#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
//字符转换,使cocos2d-x在win32平台支持中文显示
int GBKToUTF8(std::string &gbkStr,const char* toCode,const char* formCode);
#endif


#endif //_TOOLS_H_


新建tool.cpp,内容如下


#include "tools.h"


float heronsformula(float x1,float y1,float x2,float y2,float x3,float y3)
{
float a=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
float b=sqrt(pow(x2-x3,2)+pow(y2-y3,2));
float c=sqrt(pow(x3-x1,2)+pow(y3-y1,2));
float s=(a+b+c)/2;


return sqrt(s*(s-a)*(s-b)*(s-c));
}


bool triangleContainPoint(float x1,float y1,float x2,float y2,float x3,float y3,float px,float py)
{
float s1=heronsformula(x1,y1,x2,y2,px,py);
float s2=heronsformula(x2,y2,x3,y3,px,py);
float s3=heronsformula(x3,y3,x1,y1,px,py);
float s=heronsformula(x1,y1,x2,y2,x3,y3);


return abs(s-(s1+s2+s3))<0.001f;
}


#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
//字符转换,使cocos2d-x在win32平台支持中文显示
int GBKToUTF8(std::string &gbkStr,const char* toCode,const char* formCode)
{
iconv_t iconvH;
iconvH = iconv_open(formCode,toCode);
if(iconvH == 0)
{
return -1;
}


const char* strChar = gbkStr.c_str();
const char** pin = &strChar;


size_t strLength = gbkStr.length();
char* outbuf = (char*)malloc(strLength*4);
char* pBuff = outbuf;
memset(outbuf,0,strLength*4);
size_t outLength = strLength*4;
if(-1 == iconv(iconvH,pin,&strLength,&outbuf,&outLength))
{
iconv_close(iconvH);
return -1;
}


gbkStr = pBuff;
iconv_close(iconvH);
return 0;
}
#endif

3、具体使用实例

std::string menuItemStr = "单人游戏";
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
GBKToUTF8(menuItemStr,"gb2312","utf-8");
#endif

CCLabelTTF *labelSingleGame = CCLabelTTF::create(menuItemStr.c_str(), "Arial", 17); 
labelSingleGame->setPosition(ccp(origin.x + 800*scalex, origin.y + 550*scaley));


搞定....

解决cocos2d中文乱码的项目 解决cocos2d中文乱码的demo, 在win和android平台下验证成功 立即下载

相关推荐

Cocos2D-中文版

Cocos2D 中文版 第1章 介绍cocos2d 第2章 开始学习 第3章 基础知识 第4章 你的第一个游戏 第5章 游戏构成要素 第6章 深入了解精灵 第7章 横向滚屏射击游戏 第8章 完成滚屏射击游戏 第9章 粒子效果 第10章 瓷砖地图 第11章 45度角

Cocos2d-x 中文内容设置

解决在Cocos2dx内显示中文文本的问题。

HYY的博客 5052

cocos2dx+中文版

一本基础教程,对于刚刚接触cocos2d-x的朋友十分有帮助,可以帮你快速的进入cocos2d引擎,讲解详细到位,希望可以帮到大家!

cocos2d-x显示中文,方法(1)

我们用两种方法来实现在cocos2d-x中显示中文,在这之前,我会认为你已经按照子龙山人的 文章配置了环境,如若不了解的请先移步我转载的子龙山人前辈的文章《Cocos2d-x win7 + vs2010 配置图文详解(亲测)》和《Cocos2d-x建工程时避免copy文件夹和库》。我们新建一个工程,取名为LabelTest1        首先我们来看一下第一种方法,即TestCpp示例使用

路上的点滴 2415

cocos2d-x 显示中文字符 实例源码

cocos2d-x 显示中文字符 实例源码,详情请移步到博客:http://codingnow.cn/program/1038.html

阿里云大模型ACP认证模拟考试(三)

【摘要】:在阿里云大模型高级工程师 ACP 认证暂无真题题库的现状下,模拟题具有重要意义。其依照真实考试设计,涵盖题型、题量与分值分布,助力考生熟悉考试框架,合理分配答题时间精力,提升效率。同时,模拟题紧扣官方课程,能帮助考生精准定位知识盲点,如大模型架构原理和通义千问应用实践等重点内容,以便针对性完善知识体系。此外,通过练习模拟题,考生可掌握不同题型的解题思维与技巧,快速洞察复杂题目本质,提高答题准确率。

davidkorhenn的博客 3578

cocos2d-x : 解决中文乱码问题

在开发中常会遇到显示中文的情况,但是如果不加处理会出现乱码的问题。 一般会有日志乱码和 窗体上的字体乱码 原因: vs2015 默认的编码格式是GBK/GB312,而在输出的时候,都是以utf-8 格式输出的 所以会出现乱码的情况 例如新建一个项目,将默认显示的Hello World 改为中文。 默认显示: 将Hello World 改为中文: 显示: 解决: ...

better的博客 2198

VMware虚拟机的安装教程

VMware 虚拟机的备份与恢复是保障数据安全和业务连续性的重要措施。综上所述,VMware 虚拟机的备份与恢复策略有多种选择,企业和用户可以根据实际需求和资源情况选择适合自己的方案,以确保虚拟机数据的安全和业务的连续性。

huanghm88的专栏 2950

cocos2dx 3.4 Label中文显示

第一种方式: Label* a = Label::createWithSystemFont("中国", "宋体", 30); a->setPosition(Point(100, 200)); addChild(a);  这种方式也可以显示中文,不过显示中文的个数必须是双数,单数会产生莫名其妙的错误,不建议使用 第二种方式          这种方式

u014626120的专栏 3776

机器人轨迹规划——梯形速度轨迹(超详细)

机器人轨迹 这一系列轨迹教程将主要包括以下内容: 点到点轨迹(P2P) 五次多项式插值轨迹 三次多项式插值轨迹 梯形速度曲线轨迹 双S形速度曲线轨迹 多个自由度轨迹的时间同步 在线轨迹规划 多项式在线轨迹规划 梯形在线轨迹规划 双S形在线轨迹规划 非线性实时轨迹滤波 多点轨迹(Multi-point) 三次样条曲线(cubic spline) 贝赛尔曲线(Bezier Curve) B样条曲线(BSpline) 时间最优轨迹 三次样条时间最优轨迹 任意路径下的时间最优轨迹 时间

出门搔白首,若负平生志 1万+

还在用 RaiDrive/Rclone 挂载网盘?教您使用Windows 原生 WebDAV 丝滑直连 AList/Openlist,让你的网盘秒变本地硬盘!

网盘文件分散管理?😩 别再依赖第三方工具了!本文教你如何在 Windows 下,利用原生 WebDAV 功能,将 Openlist 网盘直接映射为本地硬盘!💻 操作简单,告别繁琐,让你的云端文件像本地文件一样丝滑!🚀 轻松实现高效管理,快来体验吧!

XiaoqiangClub的博客 2972

cocos2d中文显示问题的解决方法

在cocos2d中如果输入中文,在场景中会显示出乱码,这是因为编码方式的问题,解决这个问题的放大也不是很难,而且代码能反复使用比较简单,易于操作 这篇博客只能算是部分原创,因为这里我借鉴了 原始出处 我借鉴了一些代码,希望大家转载时也能尊重原创,在这里我说明的会更加详细一些,对于新手或是不是很熟练的人来说还是很有帮助的,高手忽略我... 第一步: 我们需要新建一个cpp文件和一个.h

troublemaker2014的专栏 664

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

AI人人懂 3819

cocos2d-x 显示中文字符和解析XML文件

在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有时候也是为了更方便了。 本文采用两种方案来解决这个问题: 1. 使用iconv,引擎也提供了这个库,不过只是win32平台,移植到android上还得自己去下载iconv库编译。 2. 把字符串写到xml文件中,然后解析xml文件,格式按照android中的strings.xml

Alex Zhou的程序世界 1780

Windows下Anaconda和PyTorch深度学习环境完整安装配置教程

本文详细介绍了在Windows系统下安装配置PyTorch深度学习环境的完整流程。主要内容包括:硬件环境检查(确认GPU支持)、Anaconda环境管理系统的安装与配置、虚拟环境的创建与管理方法、以及PyTorch及其相关组件的安装指南。特别强调了版本兼容性选择策略(如CUDA版本的确定)、显卡驱动更新、使用Anaconda创建隔离的PyTorch专用环境等关键步骤。无论是使用CPU还是GPU版本,读者都能按照教程快速搭建稳定的PyTorch开发环境,为深度学习项目打下坚实基础。

FJN110的博客 973

二十一、CANdelaStudio深入-SPRMIB的配置

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的肯定响应抑制位配置,欢迎各位朋友订阅、评论,可以提出宝贵意见,以持续输出更好的作品,同时会根据评论、私信不定期更新文章内容,以及专栏目录。订阅该专栏的朋友可私信小编免费答疑解惑(^U^)ノ~YO CANdelaStudio-从入门到深入目录 文章目录CANdelaStu

诊断协议那些事儿's blog 1869

cocos2d-x 显示中文字符和解析XML文件 转载

源地址:http://codingnow.cn/cocos2d-x/1038.html 在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有时候也是为了更方便了。本文采用两种方案来解决这个问题:1. 使用iconv,引擎也提供了这个库,不过只是win32平台,移植到android上还得自己去下载iconv库编译。2. 把字符串写到xml...

weixin_30951389的博客 86

【30】软考软件设计师——UML类图与用例图满分精讲|下午第3题常考核心

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第30篇,聚焦**模块四:应用技术(下午题)第3道高频大题**,UML建模是历年下午必考核心,单题分值稳定10~12分。全文深度拆解两大核心UML图表:**类图**与**用例图**,超详细讲解类图三层结构、可见性修饰符、五大核心关系(泛化/关联/依赖/聚合/组合)的判定标准与绘图规范;吃透用例图参与者、系统边界、三大关系(包含/扩展/泛化)的底层逻辑,搭配独家**关系秒杀口诀、标准绘图模板、真题改错技巧**;全文适配补图、判断关系、分析场景、纠错优化

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 572

cocos2d-x学习笔记(六)TextBMFont控件显示中文乱码或者无法显示

今天用cocos studio加了一个TextBMFont控件,然后需要动态修改TextBMFont控件显示的字符串,用来显示中文的,结果一直无法修改TextBMFont控件的值,最后原来是写到xml文件的中文字符串没有保存成UTF-8格式。================================================================...

weixin_34391445的博客 378

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

cocos2d-x lua BMFont中文问题解决

在研究用lua使用cocos2d-x 显示中文的问题,好像对ttf支持的不是很好,只能用CCLabelBMFont了,看了下BMFont工具生成的fnt文件,发现英文字符的char id 和asic2一样, 但是中文id 比如“一”这个汉字的char id 为 19968,google一下发现这是unicode编码。 CCLabelBMFont代码中生成字体纹理函数为void CCLabelB

westice的专栏 3685

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Learning Cocos2d-x for WP8(4)——中文显示

原文:Learning Cocos2d-x for WP8(4)——中文显示C#(wp7)兄弟篇Learning Cocos2d-x for XNA(4)——中文显示 Cocos2d-x中文显示,似乎还没有非常完美的解决方法,一切的根源还是UTF-8编码问题。 我选择了CCLabelBMFont结合位图坐标文件(.fnt)显示,CCLabelBMFont优于CCLabelTTF是因为CCLab...

weixin_34001430的博客 84

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

cocos2d-x解决中文乱码问题的几种办法

昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统。没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数。 但是意外的发现,当内容含有中文时,CCLabelTTF的显示内容为乱码。   无奈只好Google百度寻求答案,明白了这个问题的缘由。 因为cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为G...

weixin_34219944的博客 132
上一篇: Cocos2d-x 的“HelloWorld” 深入分析
下一篇: Box2D 中的 PTM_RATIO
mincheat
博客等级 码龄17年 46粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值