我正在研究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];
现在我需要插入另一个精灵的图像,也很简单,但有没有办法将这两个精灵连接到一个精灵?
答案 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动作结束时。