
TureType/OpenType 字体瘦身、字体转换和字符替换
本文讲解下面一些关于 TTF/OTF 字体的基本知识和操作:
- 什么是TTF和OTF字体
- 删除/插入/替换字体中的字符
- TTF/OTF 的互相转换
本文并未全部完成,请耐心等待……
为了在 Sprite Sheet Editor 中加入 plist 格式的 metadata 支持,我在 f60k的as3plist库 基础上进行了修改,实现了我的 as3plist 库。
Plist格式的本质是XML文件。由于AS3内置XML支持,所以这个库的实现还是比较容易的。
Cocos2d-x 中大量使用了plist格式文件 ,因此实现plist的支持非常必要。目前我还没有找到软件能导入 plist+png 格式的 Sprite Sheet。大多数软件都只是能生成该格式。而 Sprite Sheet Editor 只需要稍加修改就能做到这一点。
由于精力有限,项 …
阅读更多2014-01-10更新: SocketTCP 已经进入 quick-cocos2d-x 的 framework.
在 [quick-cocos2d-x 中的 socket 技术选择:LuaSocket 和 WebSocket][1] 一文中,我提到了选择 [LuaSocket][2] 与服务器通信。为了方便使用,我对LuaSocket进行了封装。封装主要做了这样几件事:
- 封装基于 LuaSocket 的 TCP 模式,使用 settimeout 实现异步调用;
- 利用 cocos2d-x 提供的定时器实现失败重连;
- 利用 quick-cocos2d-x 提供的 …

相信许多人和我一样,在打开电脑工作的时候,经常被其他因素干扰导致工作效率降低。而 RescueTime 就是避免这种情况的一个优秀工具。
我已经使用 RescueTime 4天时间了,我确定它对我有用。下面是几点分析:
阅读更多
用lua实现ByteArray和ByteArrayVarint
2014-01-10更新: ByteArray 和 ByteArrayVarint 已经进入 quick-cocos2d-x 的 framework.
许多 Actionscript 程序员已经从 Flash 转到 Cocos2d-x 了。那么以前的那些超级好用的类库都不见了,只好重新来过。
我利用 Lua 和 lpack 库实现了一套 lua版本的 ByteArray 。这套库用于 quick-cocos2d-x(后称quick) 中。因此依赖一些 quick 中已经包含的c库和lua库 。
主要依赖如下:
阅读更多quick-cocos2d-x 中的 socket 技术选择:LuaSocket 和 WebSocket
- 2013-11-17更新:加入SocketTCP和ByteArray类的实现链接。
- 2014-11-05更新:增加范例链接。
- 2014-12-04更新:一篇更详细的文章: Socket 与 WebSocket 。
在 quick-cocos2d-x 中,默认集成了 LuaSocket 和 WebSocket 两个 Socket 库。那么,在开发需要长连接的手机游戏时,应该选择哪个库呢?下面从几个方面进行比较:
- 跨平台;
- 易用性;
- 性能;
- 流量;
- 灵活性;
- 二进制编码;
- 服务器实现。

在 quick-cocos2d-x 中导出 CCFileUtils::getFileData 给Lua使用
2013-11-18更新:廖大在 468be4 这次提交中解决了本文提到的问题并进行了 getFileData 和 getFileDataFromZip 两个方法的导出。如果你使用的是develop分支,只需要pull即可,下面的修改不必做了。当然,可以继续将本文当作导出教程。
本文讲解如何将 cocos2d-x 中的 CCFileUtils::getFileData 方法导出给Lua使用。提纲如下:
- quick-cocos2d-x 读取外部文件的问题
- 简单地使用 tolua++ 导出
- 获取到的字符串问题
- 修改 …

使用 ZeroBrane Studio 和 Eclipse LDT 断点调试 quick-cocos2d-x
2013-12-13 更新: 加入quick官网提供的调试方式链接
quick-cocos2d-x 是个基于 cocos2d-x 的 Lua Binding 加强版。本文介绍在quick-cocos2d-x中进行断点调试的方法。
为了便于阅读和减少废话,本文有如下假设:
- 读者阅读过 quick-x-player 使用说明 和 初窥 Quick-cocos2d-x ;
- 读者了解 quick-cocos2d-x 项目的文件夹结构;
- 读者安装了 ZeroBrane Studio 0.39 或/和 Eclipse LDT …
本文介绍如何在 CCArmature 播放的过程中获取动画的播放状态。例如,如何判断 “死亡” 动作已经播放完毕了?如果知道一个 “循环” 动作已经播放了一次?,提纲如下:
- 先决条件;
- 必要知识;
- MovementEventSignal 的用法。