Web Analytics

Cocos2d-x 3.0rc2针对Android平台的变动

《Hello, Cocos2d-x 3.0》一文发出后没多久,我就迫不及待地将手头的一个习作尝试从2.2.2版本迁移到3.0rc0引擎上。 核心代码迁移相对顺利,大致流程如下: * 创建项目 ...

April 23, 2014 · 7 min · Tony Bai

Hello, Cocos2d-x 3.0rc0

Cocos2d-x 3.0版本已经发布了rc2,这让这段时间用熟了Cocos2d-x 2.2.2的我也有些蠢蠢欲动。按照触控科技主创人员在CocoaChina2014大会上的讲解,Cocos2d-x 3.0版本相比2.x版本在各方面都有不错的提升,于是乎就想把手头上的一款习作移植到3.0版本引擎下,看看运行效果如何。不过在移植之前,我先来看看 3.0与2.0相比在整体代码结构以及引擎驱动核心方面到底有哪些变化。一旦搞定这些原理,迁移什么都不是问题了。这里以Cocos2d-x 3.0rc0版的Android平台引擎为例。 ...

April 22, 2014 · 14 min · Tony Bai

ShareSDK Cocos2d-x专用组件的一个Bug

近期研究了一下Game App做社交分享,最后选择了ShareSDK来集成,不仅是因为ShareSDK支持国内外主流社交平台,更重要的是ShareSDK提供了专门的 cocos2d-x集成方案,有专门的文档和代码Demo供开发者参考。 文档中提到了三种集成方式:纯Java方式、plugin-x方式以及Cocos2d-x专用组件方式,这里选择了ShareSDK Cocos2d-x专用组件(v2.3.7版本)的方式。按照文档中描述的步骤进行的相对顺利,在各个社交平台的appkey生效后,我们对demo app进行了测试,居然发现app经常随机性的崩溃,有时甚至是每次都崩溃,经过深入分析,发现这是ShareSDK Cocos2d-x专用组件的一个严重Bug,下面详细说明一下Bug的产生原因以及Fix方法。 ...

April 17, 2014 · 6 min · Tony Bai

Cocos2d-x内存管理-绕不过去的坎

Cocos2d-x引擎的核心是用C++编写的,那对于所有使用该引擎的游戏开发人员来说,内存管理是一道绕不过去的坎。 关于Cocos2d-x内存管理,网上已经有了许多参考资料,有些资料写的颇为详实,因为在内存管理这块我不想多费笔墨,只是更多的将思路描述清 楚。 ...

March 18, 2014 · 8 min · Tony Bai

Hello, Cocos2d-x

女儿从两岁半开始接触iPad,在这个年龄段也只有一些幼教类游戏适合她玩。虽然知道iPad玩久了对视力有伤害,但有时候还真拗不过果果,索性 也就让她玩一会儿。之前对智能终端上的东西不是很在意,也没啥兴趣,这大概与当年在大学时做Win32 GUI开发的糟糕经历多多少少有点关系。不过智能终端是大势所趋,历史的潮流不能违抗。虽然自己并非以Android/iOS编程为主业,但适当学习学习 总归没有坏处,万一作出一个像"Flappy Bird"的游戏,爆发一下,还是蛮Happy的。于是在开始学习实践之前给自己定了一个小目标:今年六一儿童节送给女儿一款自己制作的小游戏。 ...

March 11, 2014 · 17 min · Tony Bai

只为那一抹释然

一切没有目标的努力,都是瞎忙活儿。 - Tony Bai 刚实施回来,就又投入到新工作中,到今天才有那么一点点时间写写这件事儿。 * 缘起 我们的遗留系统性能一直不高,导致这一局面的因素有很多,比如最初设计和实现的“考虑不足”、后续维护人员的“随波逐流”甚至缺少勇气对影响性能的关 键代码进行重构等等。技术债务就这样一直积累着。直到两年前,我们终见其导致的巨大的影响了。 ...

December 26, 2013 · 6 min · Tony Bai

Recommended C Style and Coding Standards中文版全文

今天无意中打开了托管在Google Code上的“Recommended C Style and Coding Standards”翻译项目,忽感觉通过目录链接的方式查看译文缺少整体感,于是花了点时间将译文全文以single page的形式贴在博客里面,方便大家查看,也算是对该翻译内容的一个备份吧。 ...

November 26, 2013 · 44 min · Tony Bai

Memcached CAS应用一例

近期收到客户一个需求,我将该需求转述为下面这个等价的问题。 【问题】 * 有一个产品包装系统_S_,为某种产品_P_提供产品包装服务; * 系统_S_由若干个处理节点组成,每个节点都可以单独处理组件; ...

November 1, 2013 · 5 min · Tony Bai

为阻塞型函数调用添加超时机制

我们产品中的一个子模块在进行Oracle实时数据库查询时,常常因数据库性能波动或异常而被阻塞在OCI API的调用上,为此我们付出了“惨痛”的代价。说来说去还是我们的程序设计的不够完善,在此类阻塞型函数调用方面缺少微小粒度的超时机制。 ...

October 25, 2013 · 6 min · Tony Bai

关于编程语言学习的一些体会

Learn at least one new language every year. — Andy Hunt and Dave Thomas 自己一直是“每年学习一门新语言”的忠实拥趸,曾先后认真地学习了Haskell、Common Lisp、Python、Go等语言,对Prolog、Scala、Erlang、Lua、PHP也有一定了解。但几年下来,只有Python一门语言算 是真正被留在我的大脑里,用在了工作中。其他那几门语言留下来的只是一些思想了。这似乎符合了Andy Hunt和Dave Thomas在《程序员修炼之道》中对于这一实践目的的阐述:“学会用多种方式解决问题,扩展我们的视野,避免思路僵化和停滞不前”^_^。 ...

October 22, 2013 · 4 min · Tony Bai