0

我目前正在研究 cocos2d 中的有趣示例。我有一个精灵,那是一条线,它只是在我的背景上移动(在 CCAction 的帮助下)。但这条线是 4000 像素宽。iOS 4.x 支持不超过 2048 x 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];

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

4

2 回答 2

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 的位置 - 是它的左下角。

于 2012-06-22T08:32:21.313 回答
0

创建一个具有两个精灵的类,并在第一个精灵的动作结束时开始第二个恶意的动作。

于 2012-06-22T08:18:31.070 回答