感谢您的阅读。使用CCLayerPanZoom和CCRenderTexture时,CCSprite子坐标变换失败?
我正在Cocos2D 1.x中进行设置,我在场景中有一个巨大的CCLayerPanZoom,可以进行自由平移和缩放。每一帧,我都必须在顶部额外绘制一个CCRenderTexture以创建“黑暗”(我正在切割出光线)。这很好。
现在我已经将单个精灵添加到表面,并且它们由Box2D管理。这也适用。我可以将它翻译成光源应该在的RenderTexture,并且它们渲染得很好。
然后我想在顶部添加一个HUD层,在场景中添加一个CCLayer。该层需要包含多个精灵堆叠在一起,作为用户界面元素。
只有,所有这些元素都无法在我需要的位置绘制:精确地位于屏幕的中心。添加到HUD层上的Sprite全部关闭,并且我已经遍历了几乎所有的变体“convertToWorldSpace”,“convertToNodeSpace”等。
这就好像由背景中的CCPanZoomLayer进行的常量缩放抛出锚指向每帧上方的图层,并重置它们不起作用。它们似乎都默认放入它们所连接的节点边界框的一个角落,就好像它们的变换在绘图时被阻塞或设置为零一样。
有没有人遇到这个问题?这是使用CCLayerPanZoom并在每个框架顶部绘制自定义CCRenderTexture的已知问题吗?
hm我一直在使用Cocos 1.x和Zwoptex很长一段时间,我从来没有遇到过这个问题。 – johnbakers 2012-04-09 01:42:17
嗨安德鲁 - 你使用SpriteBatchNodes和缩放通过CCLayerPanZoom?正如我所描述的,在简单的项目中我也不会发生这种情况,但这不再简单。 – Averett 2012-04-10 04:59:56