在CCNode中定位元素

时间:2014-04-28 20:27:55

标签: ios ios7 cocos2d-iphone

我在SpriteBuilder中创建了一个CCNode,并添加了一些子节点(标签,按钮和精灵)。在SpriteBuilder上,我将子节点的位置设置为相对于父左上角的点是常量。

在运行时我更改父节点内容大小,但子位置相对于顶部不会保持不变。

Not Expanded

Expanded

要展开我做的节点:

self.contentSize = CGSizeMake(self.contentSize.width, self.contentSize.height+50);

我检查颜色节点(给出深蓝色的节点,它是被扩展的节点的子节点并且具有100%的高度)在扩展之前和之后的内容化,它确实增加了50个点,但是在截图我们可以看到深蓝色区域没有增加。

我还检查了扩展前后标题标签的位置,它与左上角的点相同。但是在屏幕截图中我们可以看到它距离顶部更远。

1 个答案:

答案 0 :(得分:2)

没有代码,很难说。

这是一个代码片段,可以直观地执行SpriteBuilder的工作

someNode.positionType = CCPositionTypeMake(CCPositionUnitNormalized, CCPositionUnitNormalized, CCPositionReferenceCornerBottomLeft);

我希望这可以帮助您调试问题。您必须检查节点位置类型的参考角是否设置正确。