0

私はcocos2dを使い始めたばかりで、これを自分でうまく解決することはできません。

スプライトを作成し、その子として別のスプライトを追加してから、すべてを表示したいと思います。画像が画面に対して大きすぎるため、スプライトをスケーリングしているので、サイズも変更しません。問題は、親スプライトをスケーリングすると、そのスケールが子に適用されるため、単純なスケーリングは解決策ではないため、実際のテクスチャを変更する必要があることです。私は今ちょっとスタックです。誰か助けてもらえますか?

    CCSprite* parent = [CCSprite spriteWithFile: @"some_picture.png"];
    parent.position = ccp(300, 300);
    [parent setSizeX:400 andY:400]; //currently this function added in category just scales sprite

    CCSprite* child = [CCSprite spriteWithFile: @"some_other_picture.png"];
    child.position = ccp(200, 200);
    [child setSizeX:200 andY:200]; //currently this function added in category just scales sprite


    [parent addChild:child];
    [someCCLayer addChild:parent];

したがって、このセットサイズ関数のソリューションが必要です。

どうもありがとう!

4

1 に答える 1

0

CCNodeサブクラスのすべての変換は、その子に適用されます。これは変更しないでください。したがって、スプライトを1つの親に追加できます。

両方のスプライト(移動、回転など)を同時に変換する可能性が必要な場合は、両方のスプライトを含む独自のコントロール(たとえば、単純なCCNodeサブクラス)を作成できます。

于 2012-05-25T15:23:16.110 に答える