一. Mac版日志显示不完整
不知道大家有没有遇到这样的问题,在输出大量log的时候,Player的日志窗口有时会只输出一部分内容,后面补上...
, 而且之后的log就再也无法输出了, 对后面的调试造成很大的不便.
打开Player的工程,搜索...
,可以定位到 ConsoleWindowController.m
的 trace 函数,让我们看下这个代码片段:
1 | if (traceCount >= SKIP_LINES_COUNT && [msg length] > MAX_LINE_LEN) |
大家把这几行注释掉重新编译运行即可解决这个问题.
二. Mac版 CCClippingNode 无效
又到了做新手引导的时候了,之前发过两篇关于新手引导的文章:
cocos2d-x-游戏实战经验三-多分辨率的自适应(上)
cocos2d-x-游戏实战经验三-多分辨率的自适应(下)
看过的朋友应该知道,想实现屏幕中某一部分高亮需要用到CCClipingNde, 这是一个非常实用的功能类.这设置stencil之后会抠空stencil的内容
但是当我在quick-cococs2d-x中用player中运行CCClipingNde时,却发现没有任何的变化.
网上搜索 CCClippingNode无效
会找到几篇文章,都一直的指向OpenGL初始化的地方:
试着用xocde启动项目工程,意外的发现CCClipingNde在ios的模拟器是好使的,这样看来问题是出在了Player的身上,打开quick的player工程,不难发现player实质上就是在cocos2d-x的Mac版的基础上做成的,这样的话造成这个问题的原因不外乎有两个:
- cocos2d-x 的Mac不支持 CCClipingNde
- quick-cocos2d-x 的Playe 的openGL初始化有问题
运行官方2.2.1版cocos2d-x的mac项目,发现CCClippingNode是没有问题的,正常运行.
在对比两个项目的AppController.mm发现了不一致的地方:
1 | // player |
用官方的实现替换Player的实现,编译运行,一切正常,下面上张图!
未完
暂时只遇到了这两个问题,都比较容易解决,以后遇到问题还会在这里补充!