报CCAssert(pos.x < m_tLayerSize.width && pos.y < m_tLayerSize.height && pos.x >=0 && pos.y >=0, “TMXLayer: invalid position”);错误后,场景里的其他精灵有一部分消失了。。。但地图看起来没问题,cocos版本是2.1.2
好吧,我发现我不是那个问题,那个问题在我这个版本已经解决了。我现在是在安卓低端机上tilemap有时候会崩,知道是什么原因吗?ios和内存大点的安卓机都没问题。cocos2.1.2版本,512内存会出问题,在2G内存android和ios上都没问题,报CCAssert(pos.x < m_tLayerSize.width && pos.y < m_tLayerSize.height && pos.x >=0 && pos.y >=0, “TMXLayer: invalid position”);错误

1.不要改问题。
2.把CCAssert里面的值都打出来看下,是什么条件导致的断言。
好吧,最开始我以为是低版本的bug,后面发现不是才改的问题。有时候会出现这个问题,有时候整个场景完了都不会出现这个问题,刚刚检测出现的四个问题的输出是:
11-19 10:29:44.890: D/cocos2d-x debug info(16569): pos.x,108.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): m_tLayerSize.width,32.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): pos.y,16.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): m_tLayerSize.height,22.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): pos.x,8.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): m_tLayerSize.width,32.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): pos.y,185.000000
11-19 10:29:44.890: D/cocos2d-x debug info(16569): m_tLayerSize.height,22.000000
其他基本类似,要么pos.x或pos.y过大,要么pos.x或pos.y为负数,出现这个输出的时候我场景里的怪就会消失,但我的处理方法是每次加载25个怪,打完再加载,我这样打完一关有时候一次都不会出现这个情况,有时候出现几次,消失几个怪,应该是很随机的了,不然每次打这个场景都该消失固定几个怪,然后在ios和其他稍微好点的安卓机上没这问题,在这个512MB内存的安卓机上出现的几率挺大的。

我看了一下怪的位置的输出,坐标变成了负数,所以才导致了和tilemap的碰撞出问题了,是内存太少会导致OPENGL绘制出问题然后精灵被绘制到屏幕外吗?
