删除 lua.ByteArray 中与 Long 相关的方法

删除 lua.ByteArray 中与 Long 相关的方法

Delete some methods about Long in lua.ByteArray.

用lua实现ByteArray和ByteArrayVarint 一文中,我介绍了用 lua+lpack+BitOp 实现的 ByteArray 模块,这个模块模仿 AS3 的ByteArray,给从Flash转到quick-cocos2d-x的程序员以亲切感。

这个模块被网友们找出了一些BUG,例如 这个这个这个 ,和 这个

今天,我将这些网友提出的问题一一做了确认和测试,发现有些并非BUG,而是理解有偏差。

但有个不是BUG的问题却可能造成重大的错误,那就是: 继续阅读

在 quick-cocos2d-x 中使用 DragonBonesCPP

在 quick-cocos2d-x 中使用 DragonBonesCPP

Using DragonBonesCPP in quick-cocos2d-x.

1 前言

DragonBones 官方C++版本 for cocos2d-x 这篇文章中,我已经简单地介绍过了 DragonBonesCPP 这套用于取代 CCArmature 的库。

在我自己修改的 quick-cocos2d-x 版本中,我已经把 CCArmature 库删除,完全使用 DragonBonesCPP 。

我们的产品也完全使用 Flash 和 DragonBonesCPP 来制作骨骼动画。所有AS3版本的DragonBones提供的功能,在CPP版本中都能完整地实现。

几个月之前,我就已经将 DragonBonesCPP 整合到了quick-cocos2d-x 中,只是一直没有向官方库推送PR。这也是因为有几个内存泄露的BUG还没有解决。

现在,我终于有时间可以来做这件事。我的计划如下:

  1. 写一篇关于 DragonBonesCPP 的教程(quick专用哦);
  2. 解决 DragonBonesCPP 的遗留问题,并进一步封装lua api方便使用;
  3. 将 DragonBonesCPP 推送到quick的官方仓库。

那么,这篇文章就是第一件事了。 继续阅读

quick-cocos2d-x的热更新机制实现

quick-cocos2d-x的热更新机制实现

Hot update in quick-cocos2d-x

0 依赖

这里说的热更新,指的是客户端的更新。

大致的流程是,客户端在启动后访问更新api,根据更新api的反馈,下载更新资源,然后使用新的资源启动客户端,或者直接使用新资源不重启客户端。

这种方式可以跳过AppStore的审核,避免了用户频繁下载、安装、覆盖产品包。

我们一般使用这种方式快速修复产品BUG和增加新功能。

本文基于 quick-cocos2d-x zrong 修改版继续阅读

在lua中递归删除一个文件夹

在lua中递归删除一个文件夹

rmdir in quick-cocos2d-x with lua.

在使用 quick-cocos2d-x 做项目热更新的时候,我需要建立临时文件夹以保存下载的更新包。在更新完成后,我需要删除这些临时文件和文件夹。

cocos2d-x 和 quick-cocos2d-x 都没有提供删除文件夹功能。我做了如下2个尝试:

1. 使用C++

在 cocos2d-x 2.x 中的 AssetsManager 包中提供了一个 CreateDirectory 方法。这个方法可以跨平台支持创建文件夹。在实际项目中运行没有问题。 继续阅读

在 Mac OS X 上安装lighttpd

在 Mac OS X 上安装lighttpd

Install lighttpd in Mac OS X

在Windows上,我使用的是XAMPP套件。

Mac上我还没有安装HTTP服务器。我的VPS上使用的是lighttpd(从Apache到Lighttpd),因此在工作电脑上也希望使用它。

安装

安装过程中,有几个重点需要提醒: 继续阅读

在 cocos2d-x 中嵌入浏览器

在 cocos2d-x 中嵌入浏览器

Embeds a browser in cocos2d-x

在游戏中嵌入网页是很常见的需求,cocos2d-x 引擎官方并没有提供这个功能。

我在网上转了一圈,把找到的资料做了一些修改,将其集成到我们使用的 quick-cocos2d-x 引擎中。

主要代码来自:CCXWebview这里 还有一篇专门讲解Android嵌入浏览器的文章,可以参考。

集成的类叫做 CCWebView,位于 extensions 之中。

本文基于 cocos2d-x 2.x,下面的 Android 平台部分介绍了一些 cocos2d-x 3.x 的相关信息。

效果如下: 继续阅读

flash动画是如何兴起和衰退的?

flash动画是如何兴起和衰退的?

How did the Flash MV rise and fall?

这篇文章是我在之乎上的一个回答:http://www.zhihu.com/question/23940320/answer/26149559

原文提问:

记得刚上网那会,flash动画还是很火的,比如有什么 大话三国,秋水堂,火柴人格斗,东北人都是活雷锋等数不完的MV二次制作,现在怎么就看不到看到当年的盛况了。

我的回答:

因为大家都去看美剧了。 继续阅读

iOS 7.1在线安装IPA失败以及数字证书

2014-06-20更新:增加对七牛云存储的HTTPS服务说明和又拍云的介绍。

iOS 7.1在线安装IPA失败以及数字证书

Enterprise app deployment doesn’t work on iOS 7.1 and CA

错误现象

在 iOS 升级到 7.1 之后,使用 Safari 在线安装企业版或者 AD-HOC 版本的IPA时,iOS会提示:

无法安装应用程序,因为“xx.xx.xx” 的证书无效。

这是一个蛋疼的提示,它的真正人类能懂的含义是:

在 iOS 7.1 版本以后,请使用 HTTPS 部署此类安装。

解决方案

1. 部署自己的HTTPS服务器

这种方案需要使用一个可信的证书颁发机构办法的证书,将其部署在自己的服务器上。配置自己的服务器软件(例如 Apache、Nginx等) 使其支持它。

这是一劳永逸的解决方案,如果需要大量部署,那么此种方案是首选。

注意,自己给自己颁发的证书是不行的。必须使用可信的证书颁发机构颁发的证书。这就意味着,你很可能需要付费。

后面会讲到数字证书的部分,会稍稍展开一点。 继续阅读

程序员(无证)