error: ‘to_string’ is not a member of ‘std’

现象

cocos2d-x 2.2.6 项目的源码中使用了 std::to_string() 方法,使用 NDK r9d 编译的时候,报如下错误:

error: 'to_string' is not a member of 'std'

Application.mk 文件的部分内容如下:

APP_STL := gnustl_static
NDK_TOOLCHAIN_VERSION := 4.8
APP_CPPFLAGS := -frtti -std=c++11 -fexceptions -Wno-error=format-security -Wno-literal-suffix -Wno-deprecated-declarations -fsigned-char -Os $(CPPFLAGS)

换用 NDK 10e ,错误依然。

继续阅读error: ‘to_string’ is not a member of ‘std’

cocos2d-x 滤镜对 dragonbones 的支持

目前项目需要对 dragonbones 骨骼动画增加滤镜支持。这样就可以方便地利用同一套骨骼动画资源制作例如变色、中毒或者真假英雄等效果,节省美术同学的工作量以及运行时的内存占用。

cocos2d-x-filters 项目提供的滤镜功能,是针对纹理进行操作的。用于显示的两个类 FilteredSpriteWithOneFilteredSpriteWithMulti 也是继承自 Sprite 。

但 dragonbones 是一个层级结构,dragonbones 中的那个 _display ,其实仅仅是起到了容器的作用,并没有什么特殊的渲染工作。因此要对 dragonbones 进行滤镜处理,最简单的办法就是对 dragonbones 中的每一个骨骼做滤镜处理。

具体的方法如下: 继续阅读cocos2d-x 滤镜对 dragonbones 的支持

关于 cocos2d-x 滤镜

cocos2d-x 并没有提供滤镜支持。由于美术同学的强烈需求,我不得不在刚刚学习 C++ 的时候写了一个 cocos2d-x-filters 项目,为游戏中的纹理提供一些基本的变色、模糊等效果。

这个项目从2014年3月开始,到现在已经一年多了。最近为了给 dragonbones 增加滤镜支持,不得不把原来的项目翻开来重新看了一遍,发现以前学的 OpenGL 现在都忘得差不多了。这是个很糟糕的体验,我决定趁着这个机会把这个项目捡起来,增加一些必要的滤镜,同时继续学习 OpenGL 知识。

于是,我为 cocos2d-x-filters 项目单独写了一个 page ,方便持续更新。

这套滤镜项目最早是在 cocos2d-x v2.2 下开发的,后来我将其移植到 quick-cocos2d-x 中并做了必要的 Lua 封装,也将其推送到了 quick 官方库

后来,quick 团队将其移植到了 v3quick 中,我基于 quick 团队移植的版本,重新调整了项目结构,形成了现在的 cocos2d-x-filters v3.x 分支

我将在这个分支的基础上持续更新。

(全文完)

入行5年多的as3程序员,不知道未来怎么样!该转型吗?对未来有些迷茫!

这是我对知乎上一个问题的回答,原文见: http://www.zhihu.com/question/28584388/answer/41376487

原文问题:

入行5年多的as3程序员,不知道未来怎么样!该转型吗? ?对未来有些迷茫!?

转型哪个新语言呢?unity,cocos2dx,swift,oc,h5,java还是c++呢!

我的回答: 继续阅读入行5年多的as3程序员,不知道未来怎么样!该转型吗?对未来有些迷茫!

cocos2d-x 3.4 lua 触摸 BUG

2015-04-20 更新:该 bug 已经解决,见本文结尾。


查看所有 quick 移植到 cocos2d-x lua 的文章

移植 quick2.2.3 的项目到 cocos2d-x 3.4 lua 中提到,我已经开始使用 cocos2d-x 3.4 lua 来开发目前公司的两个项目。

在这两个项目中,我将 cocos 的 lua 框架、quick 的 lua 框架和我自己开发的 lua 代码,全部整合到了我的 lua 项目 中。

下面提到的 quick 框架,都是指的我整合的这个 lua 项目。 继续阅读cocos2d-x 3.4 lua 触摸 BUG

移植 quick2.2.3 的项目到 cocos2d-x 3.4 lua

查看所有 quick 移植到 cocos2d-x lua 的文章

我们的第二个游戏 Lulala 是采用我修改过的 quick 2.2.3 开发的,这个项目已经完成。

Lulala 完成后,我们立项了一个新的游戏 HHL,此时我转向了 cocos2d-x lua,具体原因我在 从 quick 转向 cocos2d-x 3.3 lua 一文中做过介绍。

在 HHL 中,我本想将以前在 quick 中修改的东西,全部移到到 cocos2d-x 3.x 中来,但仔细考虑后放弃了。我修改了太多的 C++ 代码,同样的工作我不可能在 cocos2d-x 3.x 中再来做一遍。

由于 从 quick 转向 cocos2d-x 3.3 lua 中提到的痛苦经历,我现在要保证 cocos2d-x 跟随官方一起更新。我不打算再大幅修改 cocos2d-x 3.4 的 C++ 代码,否则合并 cocos2d-x 官方库一定会出问题。 继续阅读移植 quick2.2.3 的项目到 cocos2d-x 3.4 lua

dragonbonesCPP 在 Android 5.x 上问题的解决

在 cocos2d-x 3.4 上遇到了一个诡异的问题,记录如下。

平台和版本

  • 框架: cocos2d-x 3.4 final
  • 设备: Nexus 4/5/7 with Android 5.0.1/5.0.2
  • NDK version: r9d

问题描述

一个 dragonbonesCPP 骨骼动画,在 iOS、Windows、Mac OS X、Android with 4.x 上表现完全正常,但在 Android 5.x 下表现不正常。

具体表现为解析骨骼动画数据的时候,既不 crash,也没有任何报错信息,整个程序就停住了。 继续阅读dragonbonesCPP 在 Android 5.x 上问题的解决

cocos2d-x 3.3 lua 相关修改

从 quick 转向 cocos2d-x 3.3 lua 中,我提到会将转换过程中积累的经验进行分享。这是其中一篇。要查看更多,请点击:查看所有 quick 移植到 cocos2d-x lua 的文章

  • 2015-02-26更新: 修正解决方案。

cocos2d-x 3.3 的 lua 项目在运行时,会出现一些不符合人类习惯的问题。下面是我碰到的以及解决方案。 继续阅读cocos2d-x 3.3 lua 相关修改

cocos2d-x v2 和 v3 对照手册

2015-05-04 更新: 加入 OpenGL 和 MenuItem 的相关变化。


本文的内容来自于对其它几篇文章的翻译、修改和合成,同时,我也会不断增加自己的内容。

下面这部分内容来自对这篇文章的翻译:cocos2d-x v2 to v3 mapping guide

但这篇文章有一些老了,还有一些内容已经在 cocos2d-x 3.3 中过时。因此,我并没有进行完全对照翻译。对原文中的错误,我也进行了一些修改。


我的新项目开始使用 cocos2d-x v3 。cocos2d-x v3 和 v2 相比有非常大的改变。我把踩过的坑列在下面,以方便后来之人。 继续阅读cocos2d-x v2 和 v3 对照手册

从 quick 转向 cocos2d-x 3.3 lua

  • 2014-11-30 更新:
    今天在 quick 的博客上看到了 duceface 的新文章:cocos2d-lua 与 quick 的未来,不由得热(kua)泪(zhang)盈(shou)眶(fa),看来 dualface 一直在努力,终于有成果了。
  • 2015-01-15 更新:
    加入 LiteFeel 的 如何在lua项目中使用dragonbones 文章链接。
  • 2015-01-16 更新:
    今天下载了 cocos2d-x 3.4 RC1 ,发现其中已经集成了一个 simulator,包含了原来 quick-player 的部分功能。根据阳光七月的说法,quick 到了3.4之后将不再单独发展。这真是个好消息。

在我的第一个 cocos2d-x 项目立项时,我曾经纠结过是使用 Lua 绑定还是使用 JS 绑定。最后选择了使用 Lua : Cocos2d-x script language binding:Lua or Javascript? 。cocos2d-x 的 Lua 绑定做得很糟糕,所以,我基于 quick-cocos2d-x 2.2.3 这个更好的 Lua 绑定版本进行了许多修改,那时 quick 还是在独立发展。

后来,Quick 被触控收购,Quick 进行了不兼容的升级。由于我对 Quick 的修改过多,当时的项目也在非常重要的时期,我没有持续跟进 Quick 的升级步伐,一直在使用自己 forked 的版本。

在这段艰苦时间中,我在 Quick 社区和 Quick 团队身上也学到了不少东西。感谢 dualface、Jimmy、阳光七月、ChildhoodAndy、微微蓝 等朋友提供的无私帮助。

在这些朋友的帮助下,我对 openGL ES 做了初步的了解,写出了 cocos2d-x 的 filter 组件;熟悉了 cocos2d-x 引擎的源码架构;把 DragonBonesCPP 整合进入了 quick 框架中;了解了 lua 与 C++ 交互的方式……

下面有一个不全的列表: 继续阅读从 quick 转向 cocos2d-x 3.3 lua