如何在cocoa-2d中重复CClayer?

时间:2013-09-16 12:31:43

标签: cocos2d-iphone cocos2d-x

enter image description here

我使用固定宽度的尾部制作三层。当我移动它。固定层宽度后,它显示如上图像。我想重复该层。

1 个答案:

答案 0 :(得分:1)

取一个例子,

我正在写这个答案,参考图像的水平重复。

您可以使用相同的图像初始化三个精灵,并将所有图像的锚点保持为(0,0)。

CCSprite *firstSprite = initialization;
firstSprite.anchorPoint = ccp(0,0);
firstSprite.position = ccp(0,0);
CCSprite *secondSprite = initialization;
secondSprite.anchorPoint = ccp(0,0);
secondSprite.position = ccp(firstSprite.position.x+firstSprite.contantSize.width,0);
CCSprite *thirdSprite = initialization;
thirdSprite.anchorPoint = ccp(0,0);
thirdSprite.position = ccp(secondSprite.position.x+secondSprite.contantSize.width,0);

现在,由于这是水平滚动,所以当你的self.postion.x == secondSprite.position.x时,你将第三张图像放在第三张图像之后。所以你必须在无限的时间里这样做。

为此,您必须管理一些变量,例如更改图像的位置以及将更改的图像。每次更改图像的位置时,此变量都将更改。