在Cocos2D中连接CCSprites

时间:2012-06-22 08:12:02

标签: objective-c ios xcode cocos2d-iphone

我正在研究cocos2d中有趣的例子。我有一个精灵,这是一条线,只是在我的背景上移动(在CCAction的帮助下)。但该线宽为4000像素。 iOS 4.x支持不超过2048像素乘2048像素。所以我决定把线切成两块。所以,现在我有两个图像,1920 x 1920.现在我想做我之前做过的事情。这是非常简单的代码:

CCSprite *abstractFigureLine = [CCSprite spriteWithFile:@"Abstract Figures Line.png"];
    abstractFigureLine.position = CGPointMake(960.0f, 160.0f);
    [self addChild:abstractFigureLine z:1];
    CCAction *moveAbstractFigureLineAction = [CCMoveTo actionWithDuration:10.0f position:CGPointMake(-900.0f, 160.0f)];
    [abstractFigureLine runAction:moveAbstractFigureLineAction];

现在我需要插入另一个精灵的图像,也很简单,但有没有办法将这两个精灵连接到一个精灵?

2 个答案:

答案 0 :(得分:1)

为您精灵创建一个基本节点,将精灵添加到此节点,并在此节点上运行操作:

CCSprite *abstractFigureLine1 = [CCSprite spriteWithFile:@"Abstract Figures Line.png"];
abstractFigureLine.position = CGPointMake(0, 0);

CGSize lineSize = [abstractFigureLine1 contensSize];
CCSprite *abstractFigureLine2 = [CCSprite spriteWithFile:@"Abstract Figures Line.png"];
abstractFigureLine.position = CGPointMake(lineSize.width, 0);

CCNode *base = [[CCNode alloc] init];
[base setPosition: CGPointMake(960.0f, 160.0f)];

[base addChild:abstractFigureLine1 z:1];
[base addChild:abstractFigureLine2 z:1];

[self addChild:base z:1];

CCAction *moveAbstractFigureLineAction = [CCMoveTo actionWithDuration:10.0f position:CGPointMake(-900.0f, 160.0f)];
[base runAction:moveAbstractFigureLineAction];

请注意,CCSprite的位置 - 它是中心,但CCNode的位置 - 它是左下角的传送者。

答案 1 :(得分:0)

创建一个具有两个精灵的类,并在第二个spite的第一个sprite start动作结束时。