最近在写卡牌游戏,针对jsb。踩了不少tilesmap和shader的坑。
第一是tiledmap获取单个图块时,竟然是生成一个cc_sgNode!!然后删除原来的图块。我的天,我看了好久引擎的代码才发现。然而这个cc_sgNode不适用ccc的监听系统,这还不算,使用这个类的api时,还得翻看2dx的文档,很难受。
第二个就是shader!!!最近气得恨,辛辛苦苦写好了shader,发现web与jsb的表现不一样!!简单说一点是,在web端,可以对单个cc_sgNode 进行setShaderProgram;然后在jsb却是无效的!!当我尝试将整个TMXLayer setShderProgram时,整个层都应用了这个效果!!
第三个就是shader作为重要的效果表现工具,你们竟然不支持它,现在只能用hack的方式来操作。最后要说的是,请官方统一所有api的规范,用的真的很不舒服,动不动就要到底层查看代码,要不就是在文档根本查不到api。
再跟一点非常气的事,jsb调试在1.6版本后就不会合并js脚本(project.dev.js)了,只能通过原生环境远程调试,为什么没有在文档上提及!!提醒一下各位看官,1.6版本以后的jsb调试请看jsb2.0的文档