0

私は現在、cocos2dの興味深い例に取り組んでいます。背景に(CCActionの助けを借りて)移動するだけのスプライト、つまり線があります。ただし、線の幅は4000ピクセルです。iOS 4.xは、2048ピクセル×2048ピクセル以下をサポートしています。そこで、線を2つに切ることにしました。つまり、1920 x 1920の2つの画像があります。これで、以前と同じことを実行したいと思います。これは本当に単純なコードです:

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つのスプライトを1つの単一のスプライトに接続する方法はありますか?

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

2 つのスプライトを持つクラスを作成し、最初のスプライトのアクションの終了時に 2 番目のスプライトのアクションを開始します。

于 2012-06-22T08:18:31.070 に答える