Cocos2d-x 2.x 项目匹配 iPhoneX 和 iOS11

每年的9月都是一个鬼门关,你永远不知道库克老爷子又能掏出什么宝贝来折腾一下开发者了。本来想着今年总算是例外了,第一时间升级到iOS 11后竟然发现自己做的几个游戏都能正常跑起来,真是活久见。第三方服务竟也没有火急火燎的给我发邮件让赶紧更新sdk。直到年底入了一个iPhoneX真机后,再次感受到了苹果爸爸的爱。

出问题的是一个基于Cocos2d-x 2.1.3 + Box2D的远古项目。简而言之就是在iPhoneX真机上严重掉帧,几乎一秒只有两三帧那种。但是同样一个包,同样一个系统版本号却能在iPhone 7上跑得好好的。

// 因此可以确定是硬件优化相关,跟高层代码逻辑没什么关系了

摊手,隐隐有种直觉觉得可能得升级cocos2d-x到3.x才能搞定,但是仍然抱着试一试的心情更新了一下Xcode,用最新sdk编译了一个新版本,连上iPhoneX真机调试,惊喜地发现什么都不用改问题就解决了。但是没高兴太久,几天后AppStore审核通过,发现从商店上下载的版本在iPhoneX真机上仍然严重掉帧。… Read the rest

MacOS 下利用 Alfred Workflow 批量签名 Android APK

最近需要在mac os上搭建完整的生产环境,可是在安卓apk签名的问题上卡了半天。当然,Mac下的Eclipse也是自带签名工具的,但是它只能在工程export时起作用。由于笔者需要向第三方加密平台上传APK,再从这些平台下载加密完的各渠道APK们二次签名。一个高效、漂亮的批量签名工具就显得尤为必要了。

总有一些Terminal神教信徒坚称命令行才是唯一有效率的,视一切GUI为异宗。我虽觉自己尚不够格对此作个评判,但只知道涉及到文件管理时,命令行实在是力不从心。当你面对着十来个待签名的渠道包APK,即使不去在命令行里一行行的敲jarsigner,写个shell每次不厌其烦的输入各种冗长的路径也着实让人头疼。

这里需要介绍的方法是利用小黑帽Alfred 2的Workflow功能。关于Alfred,不了解的童鞋请自行Google,我在这里就不多费口舌了。如果你像我一样为Mac上Total Commander和Listary的缺失而懊恼,那么Alfred总算让我们有点安慰了。知乎传送门: 借助 Alfred 2 的 Read the rest

转基因跟风作

本来是我前几天写了发在PLU论坛上的,想想博客几个月都没新东西了,权且搬运过来充充门面 >_<

好吧,将阴谋论的调调进行到底的话
极力的对国产转基因技术各种抹黑之能事,恰恰方便了孟山都有在未来有可能的对国内转基因技术的技术垄断
反转基因阵营说国内支持转基因的阵营是收了孟山都的黑钱,但深入一点分析的话,我看倒底是哪一方收了黑钱还不一定呢。
(以上论述不代表我支持阴谋论,虽然双方都可能有一些利益关系牵扯在内,但在阴谋论上作过多纠缠没有太多意义)

一个新技术,总是可能有各种各样的问题的。转基因是历史的潮流,你可以拿出各种论文、科研机构正规报告指出转基因存在的问题,我作为一个挺转基因者都双手赞成,大力欢迎。
你可以说在主食上大规模应用转基因目前不太合适,可能有潜在问题,OK这些我也接受。
但是像某些视频、文章中举出的反转基因论据,却完全是满嘴跑火车。与其说是在反转基因,倒不如说是是在给国际反转基因阵营抹黑,典型的如这个视频:

事实证明在这个网络时代制造恐慌的成本有多么低。抛出一个耸人听闻的论点后,回应的一方总是被动的。本来是“谁质疑谁举证”的事情,反转基因阵营拿着这种视频信心满满的说“挺转基因的人都躲哪去啦?到了你们该回应的时候了!”。殊不知这种毫无有力证据的东西,其实根本不值得去回应。请不要把“质疑”本身当作“举证”。且不说这种视频中人说的话本身有多少可信度,单单是这些人的身份我都质疑。好了,肯定有人要我拿出证据来,凭什么质疑他们的身份。的确,我什么有力证据都没有,但别忘了,这可正是你们抛出这个视频时候的潜在逻辑。我不是说所有反转基因者都喜欢故意造假,毕竟现在信息鱼龙混杂,确实很难让人判断。但是近年来某“绿色恐怖组织”的故意造假还少么?(话说回来,我本来挺向往这个组织的,但是这些年来它太让人失望了)… Read the rest

Cocos2d-x中replaceScene引发崩溃的解决

最近在玩Cocos2d-x时发现连续两次replaceScene中,第二次的replaceScene会引发崩溃。replaceScene在cocos2d中的作用即场景转换,使用非常频繁,google了一下发现遇到这个问题的人非常多,但是缺乏令人信服的解决方案。

网上有两个可以解决表面问题的办法。一把replaceScener换成pushScene,二是在转换到新场景时使用渐变等效果。但是这俩方案无异于掩耳盗铃,没有解决根本问题。

崩溃的情境可以用下图表示

而引发崩溃的实际代码在:

[cpp]
void CCDirector::setNextScene(void)
{
// 下面一句导至崩溃… Read the rest

从开发者的角度看待各移动平台

T_T 这伪技术博客都快给写成Tron的读书笔记专栏了,这样可不行欸~
如今正是移动平台的战国时期,厌烦了去讨论移动平台的未来,也无意于在HTML5和Native App之间纠结。本文只从开发者纯技术的角度聊聊各移动平台的特性。

1.WP7
个人挺喜欢wp7的系统,所以连带着也喜欢起wp7的开发。WP7开发常常与MVVM(Model-View-ViewModel)模式一起出现。抛开执行效率不谈,我觉得MVVM是在移动平台上写起来最优美的数据绑定策略。当然,MVVM与WPF/SL的整体架构是分不开的。现在虽然有好事者在安卓上也整了一套MVVM框架,但我总感觉怪怪的。MVVM可以使开发者把UI操作的注意力集中到ViewModel层上,对于双向绑定、单向绑定、集合绑定都有很好的解决方案,配合起WPF的UI分离策略,让人写起代码干净而利落。
由于众所周知的分辨率问题,长期以来WP7开发者都对IOS/安卓持有十足的心理优越感。但是随着lumia920等产品发布,wp7的分辨率480×800的单一格局也被打破了。目前来看,新的分辨率带来的冲击似乎也并不大。老式的WP7.1 480×800程序会直接拉伸到高分辨率。虽然浪费了一些分辨率,但这对不少直接用绝对坐标做布局应用来说(这在wp上相当普遍),至少没有产生明显的UI BUG。
由于WP系统的Metro风格,UI设计变得极为轻松。反正走简约风嘛,装一个Metro … Read the rest

《平凡的世界》&《早晨从中午开始》&《人生》

虽说是莫言获得的诺贝尔奖,但从获奖后的反响来看,我仿佛觉得最大的赢家是路遥。因为之前总觉得国外的月亮更圆些,没把国内当代文学当回事,但见《平》的口碑如此之高,便把它加入的我的春节补完计划。

文学必然是烙下了民族性的烙印的。我总觉得《百年孤独》又臭又长,拉美百年闭塞与落后难以令我感同身受。但《平》给人的代入感就完全不一样了,那分明可以看作我们父辈的成长史。原西之于马孔多,虽然都属虚构,但毕竟在心理上的距离要近得多。

当然,诉苦不是本书的主旋律。少安、少平两兄弟的成长、奋斗、成熟贯穿始终。整本书的情节也与书名很契合—平凡。透过这种平凡,我们可以看到在这个平凡而鲜有奇迹的世界里,自食其力的劳动者们在那个特定的的社会转型期能活出怎样的尊严。我一直期待少平的命运能发生某种奇迹,但是随着剧情的推演我渐渐明白,即使有奇迹,也绝对不会在本书的时间跨度范围内了。对于这样的一本书,确实很难写成Happy End或是Bad End,所以作者干脆在最后一章写着:这不是结局。

正月里冻冰呀立春消,
二月里鱼儿水儿水上漂,
水呀上漂来想起我的哥!
想起我的哥哥,
想起我的哥哥,

Read the rest